Temporary header file '/tmp/ix0IlalA8K/dump1.h' with the following content will be compiled to create GCC translation unit dump:

  // add defines
  #define __STDC_VERSION__ 201710L
#define _GXX_NULLPTR_T
#define CLUTTER_ENABLE_COMPOSITOR_API 1
#define _REGEX_NELTS(n)
#define _Atomic
#define PACKED
#define getaddrinfo_a(a,b,c,d)

  // add includes
  #include "/usr/include/libopenshot-audio/AppConfig.h"
  #include "/usr/include/libopenshot-audio/JuceHeader.h"
  #include "/usr/include/libopenshot-audio/OpenShotAudio.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioChannelSet.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioDataConverters.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_FloatVectorOperations.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiBuffer.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiFile.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiKeyboardState.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiMessage.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiMessageSequence.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiRPN.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEInstrument.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEMessages.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPENote.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPESynthesiser.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEUtils.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEValue.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEZoneLayout.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_AudioSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_BufferingAudioSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_MemoryAudioSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_MixerAudioSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_PositionableAudioSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ResamplingAudioSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ReverbAudioSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/synthesisers/juce_Synthesiser.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_ADSR.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_Decibels.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_IIRFilter.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_LagrangeInterpolator.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_Reverb.h"
  #include "/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_SmoothedValue.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioIODevice.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/juce_audio_devices.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiDevices.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/native/juce_MidiDataConcatenator.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/native/juce_ios_Audio.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/sources/juce_AudioSourcePlayer.h"
  #include "/usr/include/libopenshot-audio/juce_audio_devices/sources/juce_AudioTransportSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_AiffAudioFormat.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_CoreAudioFormat.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_FlacAudioFormat.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_MP3AudioFormat.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_WavAudioFormat.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormat.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatManager.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatReader.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatReaderSource.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatWriter.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioSubsectionReader.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h"
  #include "/usr/include/libopenshot-audio/juce_audio_formats/sampler/juce_Sampler.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_Array.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_ArrayAllocationBase.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_ArrayBase.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_DynamicObject.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_ElementComparator.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_HashMap.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_LinkedListPointer.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_ListenerList.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_NamedValueSet.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_OwnedArray.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_PropertySet.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_ReferenceCountedArray.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_ScopedValueSetter.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_SortedSet.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_SparseSet.h"
  #include "/usr/include/libopenshot-audio/juce_core/containers/juce_Variant.h"
  #include "/usr/include/libopenshot-audio/juce_core/files/juce_DirectoryIterator.h"
  #include "/usr/include/libopenshot-audio/juce_core/files/juce_File.h"
  #include "/usr/include/libopenshot-audio/juce_core/files/juce_FileFilter.h"
  #include "/usr/include/libopenshot-audio/juce_core/files/juce_FileInputStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/files/juce_FileOutputStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/files/juce_FileSearchPath.h"
  #include "/usr/include/libopenshot-audio/juce_core/files/juce_MemoryMappedFile.h"
  #include "/usr/include/libopenshot-audio/juce_core/files/juce_TemporaryFile.h"
  #include "/usr/include/libopenshot-audio/juce_core/files/juce_WildcardFileFilter.h"
  #include "/usr/include/libopenshot-audio/juce_core/javascript/juce_JSON.h"
  #include "/usr/include/libopenshot-audio/juce_core/javascript/juce_Javascript.h"
  #include "/usr/include/libopenshot-audio/juce_core/juce_core.h"
  #include "/usr/include/libopenshot-audio/juce_core/logging/juce_FileLogger.h"
  #include "/usr/include/libopenshot-audio/juce_core/logging/juce_Logger.h"
  #include "/usr/include/libopenshot-audio/juce_core/maths/juce_BigInteger.h"
  #include "/usr/include/libopenshot-audio/juce_core/maths/juce_Expression.h"
  #include "/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h"
  #include "/usr/include/libopenshot-audio/juce_core/maths/juce_NormalisableRange.h"
  #include "/usr/include/libopenshot-audio/juce_core/maths/juce_Random.h"
  #include "/usr/include/libopenshot-audio/juce_core/maths/juce_Range.h"
  #include "/usr/include/libopenshot-audio/juce_core/maths/juce_StatisticsAccumulator.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_Atomic.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_ContainerDeletePolicy.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_HeapBlock.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_LeakedObjectDetector.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_MemoryBlock.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_OptionalScopedPointer.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_SharedResourcePointer.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_Singleton.h"
  #include "/usr/include/libopenshot-audio/juce_core/memory/juce_WeakReference.h"
  #include "/usr/include/libopenshot-audio/juce_core/misc/juce_ConsoleApplication.h"
  #include "/usr/include/libopenshot-audio/juce_core/misc/juce_Result.h"
  #include "/usr/include/libopenshot-audio/juce_core/misc/juce_RuntimePermissions.h"
  #include "/usr/include/libopenshot-audio/juce_core/misc/juce_Uuid.h"
  #include "/usr/include/libopenshot-audio/juce_core/misc/juce_WindowsRegistry.h"
  #include "/usr/include/libopenshot-audio/juce_core/native/juce_BasicNativeHeaders.h"
  #include "/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h"
  #include "/usr/include/libopenshot-audio/juce_core/native/juce_mac_ClangBugWorkaround.h"
  #include "/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h"
  #include "/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h"
  #include "/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h"
  #include "/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h"
  #include "/usr/include/libopenshot-audio/juce_core/network/juce_IPAddress.h"
  #include "/usr/include/libopenshot-audio/juce_core/network/juce_MACAddress.h"
  #include "/usr/include/libopenshot-audio/juce_core/network/juce_NamedPipe.h"
  #include "/usr/include/libopenshot-audio/juce_core/network/juce_Socket.h"
  #include "/usr/include/libopenshot-audio/juce_core/network/juce_URL.h"
  #include "/usr/include/libopenshot-audio/juce_core/network/juce_WebInputStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/streams/juce_BufferedInputStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/streams/juce_FileInputSource.h"
  #include "/usr/include/libopenshot-audio/juce_core/streams/juce_InputSource.h"
  #include "/usr/include/libopenshot-audio/juce_core/streams/juce_InputStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/streams/juce_MemoryInputStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/streams/juce_MemoryOutputStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/streams/juce_OutputStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/streams/juce_SubregionStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/streams/juce_URLInputSource.h"
  #include "/usr/include/libopenshot-audio/juce_core/system/juce_CompilerSupport.h"
  #include "/usr/include/libopenshot-audio/juce_core/system/juce_PlatformDefs.h"
  #include "/usr/include/libopenshot-audio/juce_core/system/juce_StandardHeader.h"
  #include "/usr/include/libopenshot-audio/juce_core/system/juce_SystemStats.h"
  #include "/usr/include/libopenshot-audio/juce_core/system/juce_TargetPlatform.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_Base64.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_ASCII.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_UTF16.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_UTF32.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_UTF8.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_Identifier.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_LocalisedStrings.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_String.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_StringArray.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_StringPairArray.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_StringPool.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h"
  #include "/usr/include/libopenshot-audio/juce_core/text/juce_TextDiff.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_ChildProcess.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_CriticalSection.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_DynamicLibrary.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_HighResolutionTimer.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_InterProcessLock.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_Process.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_ReadWriteLock.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedLock.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedReadLock.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedWriteLock.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_SpinLock.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_Thread.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_ThreadLocalValue.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_ThreadPool.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_TimeSliceThread.h"
  #include "/usr/include/libopenshot-audio/juce_core/threads/juce_WaitableEvent.h"
  #include "/usr/include/libopenshot-audio/juce_core/time/juce_PerformanceCounter.h"
  #include "/usr/include/libopenshot-audio/juce_core/time/juce_RelativeTime.h"
  #include "/usr/include/libopenshot-audio/juce_core/time/juce_Time.h"
  #include "/usr/include/libopenshot-audio/juce_core/unit_tests/juce_UnitTest.h"
  #include "/usr/include/libopenshot-audio/juce_core/unit_tests/juce_UnitTestCategories.h"
  #include "/usr/include/libopenshot-audio/juce_core/xml/juce_XmlDocument.h"
  #include "/usr/include/libopenshot-audio/juce_core/xml/juce_XmlElement.h"
  #include "/usr/include/libopenshot-audio/juce_core/zip/juce_GZIPCompressorOutputStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/zip/juce_GZIPDecompressorInputStream.h"
  #include "/usr/include/libopenshot-audio/juce_core/zip/juce_ZipFile.h"
  #include "/usr/include/libopenshot-audio/juce_data_structures/app_properties/juce_ApplicationProperties.h"
  #include "/usr/include/libopenshot-audio/juce_data_structures/app_properties/juce_PropertiesFile.h"
  #include "/usr/include/libopenshot-audio/juce_data_structures/juce_data_structures.h"
  #include "/usr/include/libopenshot-audio/juce_data_structures/undomanager/juce_UndoManager.h"
  #include "/usr/include/libopenshot-audio/juce_data_structures/undomanager/juce_UndoableAction.h"
  #include "/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h"
  #include "/usr/include/libopenshot-audio/juce_data_structures/values/juce_Value.h"
  #include "/usr/include/libopenshot-audio/juce_data_structures/values/juce_ValueTree.h"
  #include "/usr/include/libopenshot-audio/juce_data_structures/values/juce_ValueTreeSynchroniser.h"
  #include "/usr/include/libopenshot-audio/juce_data_structures/values/juce_ValueWithDefault.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/containers/juce_AudioBlock.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/filter_design/juce_FilterDesign.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/frequency/juce_Convolution.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/frequency/juce_FFT.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/frequency/juce_Windowing.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/juce_dsp.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/maths/juce_FastMathApproximations.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/maths/juce_LogRampedValue.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/maths/juce_LookupTable.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/maths/juce_Matrix.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/maths/juce_Phase.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/maths/juce_Polynomial.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/maths/juce_SpecialFunctions.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/native/juce_fallback_SIMDNativeOps.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_Bias.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_FIRFilter.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_Gain.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_LadderFilter.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_Oscillator.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_Oversampling.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessContext.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorDuplicator.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorWrapper.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_Reverb.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_StateVariableFilter.h"
  #include "/usr/include/libopenshot-audio/juce_dsp/processors/juce_WaveShaper.h"
  #include "/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ActionBroadcaster.h"
  #include "/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ActionListener.h"
  #include "/usr/include/libopenshot-audio/juce_events/broadcasters/juce_AsyncUpdater.h"
  #include "/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ChangeBroadcaster.h"
  #include "/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ChangeListener.h"
  #include "/usr/include/libopenshot-audio/juce_events/interprocess/juce_ConnectedChildProcess.h"
  #include "/usr/include/libopenshot-audio/juce_events/interprocess/juce_InterprocessConnection.h"
  #include "/usr/include/libopenshot-audio/juce_events/interprocess/juce_InterprocessConnectionServer.h"
  #include "/usr/include/libopenshot-audio/juce_events/interprocess/juce_NetworkServiceDiscovery.h"
  #include "/usr/include/libopenshot-audio/juce_events/juce_events.h"
  #include "/usr/include/libopenshot-audio/juce_events/messages/juce_ApplicationBase.h"
  #include "/usr/include/libopenshot-audio/juce_events/messages/juce_CallbackMessage.h"
  #include "/usr/include/libopenshot-audio/juce_events/messages/juce_DeletedAtShutdown.h"
  #include "/usr/include/libopenshot-audio/juce_events/messages/juce_Initialisation.h"
  #include "/usr/include/libopenshot-audio/juce_events/messages/juce_Message.h"
  #include "/usr/include/libopenshot-audio/juce_events/messages/juce_MessageListener.h"
  #include "/usr/include/libopenshot-audio/juce_events/messages/juce_MessageManager.h"
  #include "/usr/include/libopenshot-audio/juce_events/messages/juce_MountedVolumeListChangeDetector.h"
  #include "/usr/include/libopenshot-audio/juce_events/messages/juce_NotificationType.h"
  #include "/usr/include/libopenshot-audio/juce_events/native/juce_linux_EventLoop.h"
  #include "/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h"
  #include "/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h"
  #include "/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h"
  #include "/usr/include/libopenshot-audio/juce_events/timers/juce_MultiTimer.h"
  #include "/usr/include/libopenshot-audio/juce_events/timers/juce_Timer.h"

  // add namespaces
  namespace juce{typedef int tmp_add_type_1;}
  juce::tmp_add_type_1 tmp_add_func_1(){return 0;};
  namespace juce{namespace AtomicHelpers{typedef int tmp_add_type_2;}}
  juce::AtomicHelpers::tmp_add_type_2 tmp_add_func_2(){return 0;};
  namespace juce{namespace dsp{typedef int tmp_add_type_3;}}
  juce::dsp::tmp_add_type_3 tmp_add_func_3(){return 0;};
  namespace juce{namespace dsp{namespace FIR{typedef int tmp_add_type_4;}}}
  juce::dsp::FIR::tmp_add_type_4 tmp_add_func_4(){return 0;};
  namespace juce{namespace dsp{namespace IIR{typedef int tmp_add_type_5;}}}
  juce::dsp::IIR::tmp_add_type_5 tmp_add_func_5(){return 0;};
  namespace juce{namespace dsp{namespace ProcessorHelpers{typedef int tmp_add_type_6;}}}
  juce::dsp::ProcessorHelpers::tmp_add_type_6 tmp_add_func_6(){return 0;};
  namespace juce{namespace dsp{namespace SampleTypeHelpers{typedef int tmp_add_type_7;}}}
  juce::dsp::SampleTypeHelpers::tmp_add_type_7 tmp_add_func_7(){return 0;};
  namespace juce{namespace dsp{namespace SIMDInternal{typedef int tmp_add_type_8;}}}
  juce::dsp::SIMDInternal::tmp_add_type_8 tmp_add_func_8(){return 0;};
  namespace juce{namespace dsp{namespace StateVariableFilter{typedef int tmp_add_type_9;}}}
  juce::dsp::StateVariableFilter::tmp_add_type_9 tmp_add_func_9(){return 0;};
  namespace juce{namespace dsp{namespace util{typedef int tmp_add_type_10;}}}
  juce::dsp::util::tmp_add_type_10 tmp_add_func_10(){return 0;};
  namespace juce{namespace HeapBlockHelper{typedef int tmp_add_type_11;}}
  juce::HeapBlockHelper::tmp_add_type_11 tmp_add_func_11(){return 0;};
  namespace juce{namespace internal{typedef int tmp_add_type_12;}}
  juce::internal::tmp_add_type_12 tmp_add_func_12(){return 0;};
  namespace juce{namespace LinuxEventLoop{typedef int tmp_add_type_13;}}
  juce::LinuxEventLoop::tmp_add_type_13 tmp_add_func_13(){return 0;};
  namespace juce{namespace TypeHelpers{typedef int tmp_add_type_14;}}
  juce::TypeHelpers::tmp_add_type_14 tmp_add_func_14(){return 0;};
  namespace juce{namespace UnitTestCategories{typedef int tmp_add_type_15;}}
  juce::UnitTestCategories::tmp_add_type_15 tmp_add_func_15(){return 0;};
  namespace juce{namespace ValueSmoothingTypes{typedef int tmp_add_type_16;}}
  juce::ValueSmoothingTypes::tmp_add_type_16 tmp_add_func_16(){return 0;};
  namespace ProjectInfo{typedef int tmp_add_type_17;}
  ProjectInfo::tmp_add_type_17 tmp_add_func_17(){return 0;};
  namespace juce{namespace __anon4bee9d3fe211{typedef int tmp_add_type_18;}}
  juce::__anon4bee9d3fe211::tmp_add_type_18 tmp_add_func_18(){return 0;};
  namespace juce{namespace __anon4bee9d3fe311{typedef int tmp_add_type_19;}}
  juce::__anon4bee9d3fe311::tmp_add_type_19 tmp_add_func_19(){return 0;};
  namespace juce{namespace __anon4bee9d3fe511{typedef int tmp_add_type_20;}}
  juce::__anon4bee9d3fe511::tmp_add_type_20 tmp_add_func_20(){return 0;};

  // add classes
  _G_fpos64_t* tmp_add_class_0;
  _G_fpos_t* tmp_add_class_1;
  _IO_cookie_io_functions_t* tmp_add_class_2;
  addrinfo* tmp_add_class_3;
  cmsghdr* tmp_add_class_4;
  dl_find_object* tmp_add_class_5;
  f_owner_ex* tmp_add_class_6;
  file_handle* tmp_add_class_7;
  flock64* tmp_add_class_8;
  gaicb* tmp_add_class_9;
  group_filter* tmp_add_class_10;
  group_req* tmp_add_class_11;
  group_source_req* tmp_add_class_12;
  hostent* tmp_add_class_13;
  ifaddr* tmp_add_class_14;
  ifconf* tmp_add_class_15;
  ifmap* tmp_add_class_16;
  ifreq* tmp_add_class_17;
  in6_addr* tmp_add_class_18;
  in6_pktinfo* tmp_add_class_19;
  in_addr* tmp_add_class_20;
  in_pktinfo* tmp_add_class_21;
  iovec* tmp_add_class_22;
  ip6_mtuinfo* tmp_add_class_23;
  ip_mreq* tmp_add_class_24;
  ip_mreq_source* tmp_add_class_25;
  ip_mreqn* tmp_add_class_26;
  ip_msfilter* tmp_add_class_27;
  ip_opts* tmp_add_class_28;
  ipv6_mreq* tmp_add_class_29;
  itimerval* tmp_add_class_30;
  linger* tmp_add_class_31;
  mmsghdr* tmp_add_class_32;
  msghdr* tmp_add_class_33;
  netent* tmp_add_class_34;
  osockaddr* tmp_add_class_35;
  passwd* tmp_add_class_36;
  pollfd* tmp_add_class_37;
  prctl_mm_map* tmp_add_class_38;
  protoent* tmp_add_class_39;
  rpcent* tmp_add_class_40;
  servent* tmp_add_class_41;
  sockaddr* tmp_add_class_42;
  sockaddr_in* tmp_add_class_43;
  sockaddr_in6* tmp_add_class_44;
  sockaddr_storage* tmp_add_class_45;
  statfs* tmp_add_class_46;
  statfs64* tmp_add_class_47;
  statx_timestamp* tmp_add_class_48;
  termio* tmp_add_class_49;
  ucontext_t* tmp_add_class_50;
  ucred* tmp_add_class_51;
  utimbuf* tmp_add_class_52;
  winsize* tmp_add_class_53;

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/ix0IlalA8K/dump1.h"  -I/usr/include/libopenshot-audio

In file included from /tmp/ix0IlalA8K/dump1.h:145:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:254:98: error: stray ‘@’ in program
  254 |         BOOL b = class_addIvar (cls, name, sizeof (Type), (uint8_t) rint (log2 (sizeof (Type))), @encode (Type));
      |                                                                                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:328:20: error: stray ‘@’ in program
  328 |         addMethod (@selector (initWithJuceObject:), initWithJuceObject, "@@:@");
      |                    ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:331:20: error: stray ‘@’ in program
  331 |         addMethod (@selector (dealloc),             dealloc,            "v@:");
      |                    ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:342:49: error: stray ‘@’ in program
  342 |         self = ObjCMsgSendSuper<NSObject*> (&s, @selector(init));
      |                                                 ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:357:37: error: stray ‘@’ in program
  357 |         ObjCMsgSendSuper<void> (&s, @selector(dealloc));
      |                                     ^
In file included from /tmp/ix0IlalA8K/dump1.h:15:
/usr/include/libopenshot-audio/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h:38:17: error: redefinition of ‘class juce::AudioPlayHead’
   38 | class JUCE_API  AudioPlayHead
      |                 ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:122,
                 from /usr/include/libopenshot-audio/./OpenShotAudio.h:18,
                 from /usr/include/libopenshot-audio/JuceHeader.h:11,
                 from /tmp/ix0IlalA8K/dump1.h:13:
/usr/include/libopenshot-audio/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h:38:17: note: previous definition of ‘class juce::AudioPlayHead’
   38 | class JUCE_API  AudioPlayHead
      |                 ^~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:16:
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioChannelSet.h:46:17: error: redefinition of ‘class juce::AudioChannelSet’
   46 | class JUCE_API  AudioChannelSet
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:87:
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioChannelSet.h:46:17: note: previous definition of ‘class juce::AudioChannelSet’
   46 | class JUCE_API  AudioChannelSet
      |                 ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:17:
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioDataConverters.h:35:17: error: redefinition of ‘class juce::AudioData’
   35 | class JUCE_API  AudioData
      |                 ^~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:84:
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioDataConverters.h:35:17: note: previous definition of ‘class juce::AudioData’
   35 | class JUCE_API  AudioData
      |                 ^~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioDataConverters.h:656:17: error: redefinition of ‘class juce::AudioDataConverters’
  656 | class JUCE_API  AudioDataConverters
      |                 ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioDataConverters.h:656:17: note: previous definition of ‘class juce::AudioDataConverters’
  656 | class JUCE_API  AudioDataConverters
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:18:
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h:37:17: error: redefinition of ‘class juce::AudioProcessLoadMeasurer’
   37 | class JUCE_API  AudioProcessLoadMeasurer
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:88:
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h:37:17: note: previous definition of ‘class juce::AudioProcessLoadMeasurer’
   37 | class JUCE_API  AudioProcessLoadMeasurer
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:19:
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioSampleBuffer.h:33:7: error: redefinition of ‘class juce::AudioBuffer<Type>’
   33 | class AudioBuffer
      |       ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:86:
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_AudioSampleBuffer.h:33:7: note: previous definition of ‘class juce::AudioBuffer<Type>’
   33 | class AudioBuffer
      |       ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:20:
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_FloatVectorOperations.h:42:17: error: redefinition of ‘class juce::FloatVectorOperations’
   42 | class JUCE_API  FloatVectorOperations
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:85:
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_FloatVectorOperations.h:42:17: note: previous definition of ‘class juce::FloatVectorOperations’
   42 | class JUCE_API  FloatVectorOperations
      |                 ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_FloatVectorOperations.h:245:7: error: redefinition of ‘class juce::ScopedNoDenormals’
  245 | class ScopedNoDenormals
      |       ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/buffers/juce_FloatVectorOperations.h:245:7: note: previous definition of ‘class juce::ScopedNoDenormals’
  245 | class ScopedNoDenormals
      |       ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:22:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiBuffer.h:42:17: error: redefinition of ‘class juce::MidiBuffer’
   42 | class JUCE_API  MidiBuffer
      |                 ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:97:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiBuffer.h:42:17: note: previous definition of ‘class juce::MidiBuffer’
   42 | class JUCE_API  MidiBuffer
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:23:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiFile.h:41:17: error: redefinition of ‘class juce::MidiFile’
   41 | class JUCE_API  MidiFile
      |                 ^~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:99:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiFile.h:41:17: note: previous definition of ‘class juce::MidiFile’
   41 | class JUCE_API  MidiFile
      |                 ^~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:24:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiKeyboardState.h:37:17: error: redefinition of ‘class juce::MidiKeyboardStateListener’
   37 | class JUCE_API  MidiKeyboardStateListener
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:100:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiKeyboardState.h:37:17: note: previous definition of ‘class juce::MidiKeyboardStateListener’
   37 | class JUCE_API  MidiKeyboardStateListener
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiKeyboardState.h:86:17: error: redefinition of ‘class juce::MidiKeyboardState’
   86 | class JUCE_API  MidiKeyboardState
      |                 ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiKeyboardState.h:86:17: note: previous definition of ‘class juce::MidiKeyboardState’
   86 | class JUCE_API  MidiKeyboardState
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:25:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiMessage.h:34:17: error: redefinition of ‘class juce::MidiMessage’
   34 | class JUCE_API  MidiMessage
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:96:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiMessage.h:34:17: note: previous definition of ‘class juce::MidiMessage’
   34 | class JUCE_API  MidiMessage
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:26:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiMessageSequence.h:37:17: error: redefinition of ‘class juce::MidiMessageSequence’
   37 | class JUCE_API  MidiMessageSequence
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:98:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiMessageSequence.h:37:17: note: previous definition of ‘class juce::MidiMessageSequence’
   37 | class JUCE_API  MidiMessageSequence
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:27:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiRPN.h:32:8: error: redefinition of ‘struct juce::MidiRPNMessage’
   32 | struct MidiRPNMessage
      |        ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:101:
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiRPN.h:32:8: note: previous definition of ‘struct juce::MidiRPNMessage’
   32 | struct MidiRPNMessage
      |        ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiRPN.h:67:17: error: redefinition of ‘class juce::MidiRPNDetector’
   67 | class JUCE_API  MidiRPNDetector
      |                 ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiRPN.h:67:17: note: previous definition of ‘class juce::MidiRPNDetector’
   67 | class JUCE_API  MidiRPNDetector
      |                 ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiRPN.h:123:17: error: redefinition of ‘class juce::MidiRPNGenerator’
  123 | class JUCE_API  MidiRPNGenerator
      |                 ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/midi/juce_MidiRPN.h:123:17: note: previous definition of ‘class juce::MidiRPNGenerator’
  123 | class JUCE_API  MidiRPNGenerator
      |                 ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:28:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEInstrument.h:55:17: error: redefinition of ‘class juce::MPEInstrument’
   55 | class JUCE_API  MPEInstrument
      |                 ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:105:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEInstrument.h:55:17: note: previous definition of ‘class juce::MPEInstrument’
   55 | class JUCE_API  MPEInstrument
      |                 ^~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:29:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEMessages.h:48:17: error: redefinition of ‘class juce::MPEMessages’
   48 | class JUCE_API  MPEMessages
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:106:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEMessages.h:48:17: note: previous definition of ‘class juce::MPEMessages’
   48 | class JUCE_API  MPEMessages
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:30:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPENote.h:39:18: error: redefinition of ‘struct juce::MPENote’
   39 | struct JUCE_API  MPENote
      |                  ^~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:103:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPENote.h:39:18: note: previous definition of ‘struct juce::MPENote’
   39 | struct JUCE_API  MPENote
      |                  ^~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:31:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPESynthesiser.h:54:17: error: redefinition of ‘class juce::MPESynthesiser’
   54 | class JUCE_API  MPESynthesiser   : public MPESynthesiserBase
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:109:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPESynthesiser.h:54:17: note: previous definition of ‘class juce::MPESynthesiser’
   54 | class JUCE_API  MPESynthesiser   : public MPESynthesiserBase
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:32:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPESynthesiserBase.h:46:18: error: redefinition of ‘struct juce::MPESynthesiserBase’
   46 | struct JUCE_API  MPESynthesiserBase   : public MPEInstrument::Listener
      |                  ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:107:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPESynthesiserBase.h:46:18: note: previous definition of ‘struct juce::MPESynthesiserBase’
   46 | struct JUCE_API  MPESynthesiserBase   : public MPEInstrument::Listener
      |                  ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:33:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h:37:17: error: redefinition of ‘class juce::MPESynthesiserVoice’
   37 | class JUCE_API  MPESynthesiserVoice
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:108:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h:37:17: note: previous definition of ‘class juce::MPESynthesiserVoice’
   37 | class JUCE_API  MPESynthesiserVoice
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:34:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEUtils.h:37:7: error: redefinition of ‘class juce::MPEChannelAssigner’
   37 | class MPEChannelAssigner
      |       ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:110:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEUtils.h:37:7: note: previous definition of ‘class juce::MPEChannelAssigner’
   37 | class MPEChannelAssigner
      |       ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEUtils.h:102:7: error: redefinition of ‘class juce::MPEChannelRemapper’
  102 | class MPEChannelRemapper
      |       ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEUtils.h:102:7: note: previous definition of ‘class juce::MPEChannelRemapper’
  102 | class MPEChannelRemapper
      |       ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:35:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEValue.h:36:17: error: redefinition of ‘class juce::MPEValue’
   36 | class JUCE_API  MPEValue
      |                 ^~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:102:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEValue.h:36:17: note: previous definition of ‘class juce::MPEValue’
   36 | class JUCE_API  MPEValue
      |                 ^~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:36:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEZoneLayout.h:44:17: error: redefinition of ‘class juce::MPEZoneLayout’
   44 | class JUCE_API  MPEZoneLayout
      |                 ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:104:
/usr/include/libopenshot-audio/juce_audio_basics/mpe/juce_MPEZoneLayout.h:44:17: note: previous definition of ‘class juce::MPEZoneLayout’
   44 | class JUCE_API  MPEZoneLayout
      |                 ^~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:38:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_AudioSource.h:32:18: error: redefinition of ‘struct juce::AudioSourceChannelInfo’
   32 | struct JUCE_API  AudioSourceChannelInfo
      |                  ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:111:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_AudioSource.h:32:18: note: previous definition of ‘struct juce::AudioSourceChannelInfo’
   32 | struct JUCE_API  AudioSourceChannelInfo
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_AudioSource.h:109:17: error: redefinition of ‘class juce::AudioSource’
  109 | class JUCE_API  AudioSource
      |                 ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_AudioSource.h:109:17: note: previous definition of ‘class juce::AudioSource’
  109 | class JUCE_API  AudioSource
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:39:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_BufferingAudioSource.h:38:17: error: redefinition of ‘class juce::BufferingAudioSource’
   38 | class JUCE_API  BufferingAudioSource  : public PositionableAudioSource,
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:113:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_BufferingAudioSource.h:38:17: note: previous definition of ‘class juce::BufferingAudioSource’
   38 | class JUCE_API  BufferingAudioSource  : public PositionableAudioSource,
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:40:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h:43:7: error: redefinition of ‘class juce::ChannelRemappingAudioSource’
   43 | class ChannelRemappingAudioSource  : public AudioSource
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:114:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h:43:7: note: previous definition of ‘class juce::ChannelRemappingAudioSource’
   43 | class ChannelRemappingAudioSource  : public AudioSource
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:41:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_IIRFilterAudioSource.h:32:17: error: redefinition of ‘class juce::IIRFilterAudioSource’
   32 | class JUCE_API  IIRFilterAudioSource  : public AudioSource
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:115:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_IIRFilterAudioSource.h:32:17: note: previous definition of ‘class juce::IIRFilterAudioSource’
   32 | class JUCE_API  IIRFilterAudioSource  : public AudioSource
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:42:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_MemoryAudioSource.h:32:16: error: redefinition of ‘class juce::MemoryAudioSource’
   32 | class JUCE_API MemoryAudioSource   : public AudioSource
      |                ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:116:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_MemoryAudioSource.h:32:16: note: previous definition of ‘class juce::MemoryAudioSource’
   32 | class JUCE_API MemoryAudioSource   : public AudioSource
      |                ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:43:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_MixerAudioSource.h:36:17: error: redefinition of ‘class juce::MixerAudioSource’
   36 | class JUCE_API  MixerAudioSource  : public AudioSource
      |                 ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:117:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_MixerAudioSource.h:36:17: note: previous definition of ‘class juce::MixerAudioSource’
   36 | class JUCE_API  MixerAudioSource  : public AudioSource
      |                 ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:44:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_PositionableAudioSource.h:38:17: error: redefinition of ‘class juce::PositionableAudioSource’
   38 | class JUCE_API  PositionableAudioSource  : public AudioSource
      |                 ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:112:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_PositionableAudioSource.h:38:17: note: previous definition of ‘class juce::PositionableAudioSource’
   38 | class JUCE_API  PositionableAudioSource  : public AudioSource
      |                 ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:45:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ResamplingAudioSource.h:34:17: error: redefinition of ‘class juce::ResamplingAudioSource’
   34 | class JUCE_API  ResamplingAudioSource  : public AudioSource
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:118:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ResamplingAudioSource.h:34:17: note: previous definition of ‘class juce::ResamplingAudioSource’
   34 | class JUCE_API  ResamplingAudioSource  : public AudioSource
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:46:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ReverbAudioSource.h:34:17: error: redefinition of ‘class juce::ReverbAudioSource’
   34 | class JUCE_API  ReverbAudioSource   : public AudioSource
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:119:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ReverbAudioSource.h:34:17: note: previous definition of ‘class juce::ReverbAudioSource’
   34 | class JUCE_API  ReverbAudioSource   : public AudioSource
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:47:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h:33:17: error: redefinition of ‘class juce::ToneGeneratorAudioSource’
   33 | class JUCE_API  ToneGeneratorAudioSource  : public AudioSource
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:120:
/usr/include/libopenshot-audio/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h:33:17: note: previous definition of ‘class juce::ToneGeneratorAudioSource’
   33 | class JUCE_API  ToneGeneratorAudioSource  : public AudioSource
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:48:
/usr/include/libopenshot-audio/juce_audio_basics/synthesisers/juce_Synthesiser.h:41:17: error: redefinition of ‘class juce::SynthesiserSound’
   41 | class JUCE_API  SynthesiserSound    : public ReferenceCountedObject
      |                 ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:121:
/usr/include/libopenshot-audio/juce_audio_basics/synthesisers/juce_Synthesiser.h:41:17: note: previous definition of ‘class juce::SynthesiserSound’
   41 | class JUCE_API  SynthesiserSound    : public ReferenceCountedObject
      |                 ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/synthesisers/juce_Synthesiser.h:87:17: error: redefinition of ‘class juce::SynthesiserVoice’
   87 | class JUCE_API  SynthesiserVoice
      |                 ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/synthesisers/juce_Synthesiser.h:87:17: note: previous definition of ‘class juce::SynthesiserVoice’
   87 | class JUCE_API  SynthesiserVoice
      |                 ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/synthesisers/juce_Synthesiser.h:307:17: error: redefinition of ‘class juce::Synthesiser’
  307 | class JUCE_API  Synthesiser
      |                 ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/synthesisers/juce_Synthesiser.h:307:17: note: previous definition of ‘class juce::Synthesiser’
  307 | class JUCE_API  Synthesiser
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:49:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_ADSR.h:36:7: error: redefinition of ‘class juce::ADSR’
   36 | class ADSR
      |       ^~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:95:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_ADSR.h:36:7: note: previous definition of ‘class juce::ADSR’
   36 | class ADSR
      |       ^~~~
In file included from /tmp/ix0IlalA8K/dump1.h:50:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h:39:17: error: redefinition of ‘class juce::CatmullRomInterpolator’
   39 | class JUCE_API  CatmullRomInterpolator
      |                 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:92:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h:39:17: note: previous definition of ‘class juce::CatmullRomInterpolator’
   39 | class JUCE_API  CatmullRomInterpolator
      |                 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:51:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_Decibels.h:32:7: error: redefinition of ‘class juce::Decibels’
   32 | class Decibels
      |       ^~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:89:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_Decibels.h:32:7: note: previous definition of ‘class juce::Decibels’
   32 | class Decibels
      |       ^~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:52:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_IIRFilter.h:36:17: error: redefinition of ‘class juce::IIRCoefficients’
   36 | class JUCE_API  IIRCoefficients
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:90:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_IIRFilter.h:36:17: note: previous definition of ‘class juce::IIRCoefficients’
   36 | class JUCE_API  IIRCoefficients
      |                 ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_IIRFilter.h:156:17: error: redefinition of ‘class juce::IIRFilter’
  156 | class JUCE_API  IIRFilter
      |                 ^~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_IIRFilter.h:156:17: note: previous definition of ‘class juce::IIRFilter’
  156 | class JUCE_API  IIRFilter
      |                 ^~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:53:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_LagrangeInterpolator.h:39:17: error: redefinition of ‘class juce::LagrangeInterpolator’
   39 | class JUCE_API  LagrangeInterpolator
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:91:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_LagrangeInterpolator.h:39:17: note: previous definition of ‘class juce::LagrangeInterpolator’
   39 | class JUCE_API  LagrangeInterpolator
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:54:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_Reverb.h:38:7: error: redefinition of ‘class juce::Reverb’
   38 | class Reverb
      |       ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:94:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_Reverb.h:38:7: note: previous definition of ‘class juce::Reverb’
   38 | class Reverb
      |       ^~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:55:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_SmoothedValue.h:36:7: error: redefinition of ‘class juce::SmoothedValueBase<SmoothedValueType>’
   36 | class SmoothedValueBase
      |       ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:93:
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_SmoothedValue.h:36:7: note: previous definition of ‘class juce::SmoothedValueBase<SmoothedValueType>’
   36 | class SmoothedValueBase
      |       ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_SmoothedValue.h:187:12: error: redefinition of ‘struct juce::ValueSmoothingTypes::Linear’
  187 |     struct Linear {};
      |            ^~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_SmoothedValue.h:187:12: note: previous definition of ‘struct juce::ValueSmoothingTypes::Linear’
  187 |     struct Linear {};
      |            ^~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_SmoothedValue.h:194:12: error: redefinition of ‘struct juce::ValueSmoothingTypes::Multiplicative’
  194 |     struct Multiplicative {};
      |            ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_SmoothedValue.h:194:12: note: previous definition of ‘struct juce::ValueSmoothingTypes::Multiplicative’
  194 |     struct Multiplicative {};
      |            ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_SmoothedValue.h:227:31: error: redefinition of default argument for ‘class SmoothingType’
  227 | template <typename FloatType, typename SmoothingType = ValueSmoothingTypes::Linear>
      |                               ^~~~~~~~
/usr/include/libopenshot-audio/juce_audio_basics/utilities/juce_SmoothedValue.h:227:31: note: original definition appeared here
  227 | template <typename FloatType, typename SmoothingType = ValueSmoothingTypes::Linear>
      |                               ^~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:56:
/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioDeviceManager.h:66:17: error: redefinition of ‘class juce::AudioDeviceManager’
   66 | class JUCE_API  AudioDeviceManager  : public ChangeBroadcaster
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_devices/juce_audio_devices.h:182,
                 from /usr/include/libopenshot-audio/./OpenShotAudio.h:19:
/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioDeviceManager.h:66:17: note: previous definition of ‘class juce::AudioDeviceManager’
   66 | class JUCE_API  AudioDeviceManager  : public ChangeBroadcaster
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:57:
/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioIODevice.h:42:17: error: redefinition of ‘class juce::AudioIODeviceCallback’
   42 | class JUCE_API  AudioIODeviceCallback
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_devices/juce_audio_devices.h:177:
/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioIODevice.h:42:17: note: previous definition of ‘class juce::AudioIODeviceCallback’
   42 | class JUCE_API  AudioIODeviceCallback
      |                 ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioIODevice.h:136:17: error: redefinition of ‘class juce::AudioIODevice’
  136 | class JUCE_API  AudioIODevice
      |                 ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioIODevice.h:136:17: note: previous definition of ‘class juce::AudioIODevice’
  136 | class JUCE_API  AudioIODevice
      |                 ^~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:58:
/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioIODeviceType.h:61:17: error: redefinition of ‘class juce::AudioIODeviceType’
   61 | class JUCE_API  AudioIODeviceType
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_devices/juce_audio_devices.h:178:
/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_AudioIODeviceType.h:61:17: note: previous definition of ‘class juce::AudioIODeviceType’
   61 | class JUCE_API  AudioIODeviceType
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:59:
/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_SystemAudioVolume.h:32:17: error: redefinition of ‘class juce::SystemAudioVolume’
   32 | class JUCE_API  SystemAudioVolume
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_devices/juce_audio_devices.h:179:
/usr/include/libopenshot-audio/juce_audio_devices/audio_io/juce_SystemAudioVolume.h:32:17: note: previous definition of ‘class juce::SystemAudioVolume’
   32 | class JUCE_API  SystemAudioVolume
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:61:
/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiDevices.h:36:8: error: redefinition of ‘struct juce::MidiDeviceInfo’
   36 | struct MidiDeviceInfo
      |        ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_devices/juce_audio_devices.h:175:
/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiDevices.h:36:8: note: previous definition of ‘struct juce::MidiDeviceInfo’
   36 | struct MidiDeviceInfo
      |        ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiDevices.h:81:17: error: redefinition of ‘class juce::MidiInput’
   81 | class JUCE_API  MidiInput  final
      |                 ^~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiDevices.h:81:17: note: previous definition of ‘class juce::MidiInput’
   81 | class JUCE_API  MidiInput  final
      |                 ^~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiDevices.h:188:17: error: redefinition of ‘class juce::MidiInputCallback’
  188 | class JUCE_API  MidiInputCallback
      |                 ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiDevices.h:188:17: note: previous definition of ‘class juce::MidiInputCallback’
  188 | class JUCE_API  MidiInputCallback
      |                 ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiDevices.h:239:17: error: redefinition of ‘class juce::MidiOutput’
  239 | class JUCE_API  MidiOutput  final  : private Thread
      |                 ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiDevices.h:239:17: note: previous definition of ‘class juce::MidiOutput’
  239 | class JUCE_API  MidiOutput  final  : private Thread
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:62:
/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiMessageCollector.h:38:17: error: redefinition of ‘class juce::MidiMessageCollector’
   38 | class JUCE_API  MidiMessageCollector    : public MidiKeyboardStateListener,
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_devices/juce_audio_devices.h:176:
/usr/include/libopenshot-audio/juce_audio_devices/midi_io/juce_MidiMessageCollector.h:38:17: note: previous definition of ‘class juce::MidiMessageCollector’
   38 | class JUCE_API  MidiMessageCollector    : public MidiKeyboardStateListener,
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:65:
/usr/include/libopenshot-audio/juce_audio_devices/sources/juce_AudioSourcePlayer.h:36:17: error: redefinition of ‘class juce::AudioSourcePlayer’
   36 | class JUCE_API  AudioSourcePlayer  : public AudioIODeviceCallback
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_devices/juce_audio_devices.h:180:
/usr/include/libopenshot-audio/juce_audio_devices/sources/juce_AudioSourcePlayer.h:36:17: note: previous definition of ‘class juce::AudioSourcePlayer’
   36 | class JUCE_API  AudioSourcePlayer  : public AudioIODeviceCallback
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:66:
/usr/include/libopenshot-audio/juce_audio_devices/sources/juce_AudioTransportSource.h:41:17: error: redefinition of ‘class juce::AudioTransportSource’
   41 | class JUCE_API  AudioTransportSource  : public PositionableAudioSource,
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_devices/juce_audio_devices.h:181:
/usr/include/libopenshot-audio/juce_audio_devices/sources/juce_AudioTransportSource.h:41:17: note: previous definition of ‘class juce::AudioTransportSource’
   41 | class JUCE_API  AudioTransportSource  : public PositionableAudioSource,
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:67:
/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_AiffAudioFormat.h:38:17: error: redefinition of ‘class juce::AiffAudioFormat’
   38 | class JUCE_API  AiffAudioFormat  : public AudioFormat
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:122,
                 from /usr/include/libopenshot-audio/./OpenShotAudio.h:20:
/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_AiffAudioFormat.h:38:17: note: previous definition of ‘class juce::AiffAudioFormat’
   38 | class JUCE_API  AiffAudioFormat  : public AudioFormat
      |                 ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:73:
/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_WavAudioFormat.h:38:17: error: redefinition of ‘class juce::WavAudioFormat’
   38 | class JUCE_API  WavAudioFormat  : public AudioFormat
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:128:
/usr/include/libopenshot-audio/juce_audio_formats/codecs/juce_WavAudioFormat.h:38:17: note: previous definition of ‘class juce::WavAudioFormat’
   38 | class JUCE_API  WavAudioFormat  : public AudioFormat
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:75:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormat.h:39:17: error: redefinition of ‘class juce::AudioFormat’
   39 | class JUCE_API  AudioFormat
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:117:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormat.h:39:17: note: previous definition of ‘class juce::AudioFormat’
   39 | class JUCE_API  AudioFormat
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:76:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatManager.h:42:17: error: redefinition of ‘class juce::AudioFormatManager’
   42 | class JUCE_API  AudioFormatManager
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:118:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatManager.h:42:17: note: previous definition of ‘class juce::AudioFormatManager’
   42 | class JUCE_API  AudioFormatManager
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:77:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatReader.h:44:17: error: redefinition of ‘class juce::AudioFormatReader’
   44 | class JUCE_API  AudioFormatReader
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:114:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatReader.h:44:17: note: previous definition of ‘class juce::AudioFormatReader’
   44 | class JUCE_API  AudioFormatReader
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:78:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatReaderSource.h:38:17: error: redefinition of ‘class juce::AudioFormatReaderSource’
   38 | class JUCE_API  AudioFormatReaderSource  : public PositionableAudioSource
      |                 ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:119:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatReaderSource.h:38:17: note: previous definition of ‘class juce::AudioFormatReaderSource’
   38 | class JUCE_API  AudioFormatReaderSource  : public PositionableAudioSource
      |                 ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:79:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatWriter.h:44:17: error: redefinition of ‘class juce::AudioFormatWriter’
   44 | class JUCE_API  AudioFormatWriter
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:115:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioFormatWriter.h:44:17: note: previous definition of ‘class juce::AudioFormatWriter’
   44 | class JUCE_API  AudioFormatWriter
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:80:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioSubsectionReader.h:45:17: error: redefinition of ‘class juce::AudioSubsectionReader’
   45 | class JUCE_API  AudioSubsectionReader  : public AudioFormatReader
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:120:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_AudioSubsectionReader.h:45:17: note: previous definition of ‘class juce::AudioSubsectionReader’
   45 | class JUCE_API  AudioSubsectionReader  : public AudioFormatReader
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:81:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_BufferingAudioFormatReader.h:39:17: error: redefinition of ‘class juce::BufferingAudioReader’
   39 | class JUCE_API  BufferingAudioReader  : public AudioFormatReader,
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:121:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_BufferingAudioFormatReader.h:39:17: note: previous definition of ‘class juce::BufferingAudioReader’
   39 | class JUCE_API  BufferingAudioReader  : public AudioFormatReader,
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:82:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h:47:17: error: redefinition of ‘class juce::MemoryMappedAudioFormatReader’
   47 | class JUCE_API  MemoryMappedAudioFormatReader  : public AudioFormatReader
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:116:
/usr/include/libopenshot-audio/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h:47:17: note: previous definition of ‘class juce::MemoryMappedAudioFormatReader’
   47 | class JUCE_API  MemoryMappedAudioFormatReader  : public AudioFormatReader
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:84:
/usr/include/libopenshot-audio/juce_audio_formats/sampler/juce_Sampler.h:44:17: error: redefinition of ‘class juce::SamplerSound’
   44 | class JUCE_API  SamplerSound    : public SynthesiserSound
      |                 ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_audio_formats/juce_audio_formats.h:130:
/usr/include/libopenshot-audio/juce_audio_formats/sampler/juce_Sampler.h:44:17: note: previous definition of ‘class juce::SamplerSound’
   44 | class JUCE_API  SamplerSound    : public SynthesiserSound
      |                 ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_formats/sampler/juce_Sampler.h:121:17: error: redefinition of ‘class juce::SamplerVoice’
  121 | class JUCE_API  SamplerVoice    : public SynthesiserVoice
      |                 ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_audio_formats/sampler/juce_Sampler.h:121:17: note: previous definition of ‘class juce::SamplerVoice’
  121 | class JUCE_API  SamplerVoice    : public SynthesiserVoice
      |                 ^~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:85:
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:78:17: error: redefinition of ‘class juce::AbstractFifo’
   78 | class JUCE_API  AbstractFifo
      |                 ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:262,
                 from /usr/include/libopenshot-audio/juce_audio_basics/juce_audio_basics.h:53:
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:78:17: note: previous definition of ‘class juce::AbstractFifo’
   78 | class JUCE_API  AbstractFifo
      |                 ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:318:13: error: redefinition of ‘static void juce::AbstractFifo::ScopedReadWrite<mode>::finish(juce::AbstractFifo&, int) [with juce::AbstractFifo::ReadOrWrite mode = juce::AbstractFifo::ReadOrWrite::read]’
  318 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::read>::finish (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:318:13: note: ‘static void juce::AbstractFifo::ScopedReadWrite<mode>::finish(juce::AbstractFifo&, int) [with juce::AbstractFifo::ReadOrWrite mode = juce::AbstractFifo::ReadOrWrite::read]’ previously declared here
  318 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::read>::finish (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:318:13: error: ‘enum class juce::AbstractFifo::ReadOrWrite’ is private within this context
  318 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::read>::finish (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:202:16: note: declared private here
  202 |     enum class ReadOrWrite
      |                ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:324:13: error: redefinition of ‘static void juce::AbstractFifo::ScopedReadWrite<mode>::finish(juce::AbstractFifo&, int) [with juce::AbstractFifo::ReadOrWrite mode = juce::AbstractFifo::ReadOrWrite::write]’
  324 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::write>::finish (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:324:13: note: ‘static void juce::AbstractFifo::ScopedReadWrite<mode>::finish(juce::AbstractFifo&, int) [with juce::AbstractFifo::ReadOrWrite mode = juce::AbstractFifo::ReadOrWrite::write]’ previously declared here
  324 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::write>::finish (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:324:13: error: ‘enum class juce::AbstractFifo::ReadOrWrite’ is private within this context
  324 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::write>::finish (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:202:16: note: declared private here
  202 |     enum class ReadOrWrite
      |                ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:330:13: error: redefinition of ‘void juce::AbstractFifo::ScopedReadWrite<mode>::prepare(juce::AbstractFifo&, int) [with juce::AbstractFifo::ReadOrWrite mode = juce::AbstractFifo::ReadOrWrite::read]’
  330 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::read>::prepare (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:330:13: note: ‘void juce::AbstractFifo::ScopedReadWrite<mode>::prepare(juce::AbstractFifo&, int) [with juce::AbstractFifo::ReadOrWrite mode = juce::AbstractFifo::ReadOrWrite::read]’ previously declared here
  330 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::read>::prepare (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:330:13: error: ‘enum class juce::AbstractFifo::ReadOrWrite’ is private within this context
  330 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::read>::prepare (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:202:16: note: declared private here
  202 |     enum class ReadOrWrite
      |                ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:336:13: error: redefinition of ‘void juce::AbstractFifo::ScopedReadWrite<mode>::prepare(juce::AbstractFifo&, int) [with juce::AbstractFifo::ReadOrWrite mode = juce::AbstractFifo::ReadOrWrite::write]’
  336 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::write>::prepare (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:336:13: note: ‘void juce::AbstractFifo::ScopedReadWrite<mode>::prepare(juce::AbstractFifo&, int) [with juce::AbstractFifo::ReadOrWrite mode = juce::AbstractFifo::ReadOrWrite::write]’ previously declared here
  336 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::write>::prepare (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:336:13: error: ‘enum class juce::AbstractFifo::ReadOrWrite’ is private within this context
  336 | inline void AbstractFifo::ScopedReadWrite<AbstractFifo::ReadOrWrite::write>::prepare (AbstractFifo& f, int num) noexcept
      |             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_AbstractFifo.h:202:16: note: declared private here
  202 |     enum class ReadOrWrite
      |                ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:86:
/usr/include/libopenshot-audio/juce_core/containers/juce_Array.h:53:11: error: redefinition of default argument for ‘class TypeOfCriticalSectionToUse’
   53 |           typename TypeOfCriticalSectionToUse = DummyCriticalSection,
      |           ^~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:254:
/usr/include/libopenshot-audio/juce_core/containers/juce_Array.h:53:11: note: original definition appeared here
   53 |           typename TypeOfCriticalSectionToUse = DummyCriticalSection,
      |           ^~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:87:
/usr/include/libopenshot-audio/juce_core/containers/juce_ArrayAllocationBase.h:37:7: error: redefinition of ‘class juce::ArrayAllocationBase<ElementType, TypeOfCriticalSectionToUse>’
   37 | class ArrayAllocationBase  : public TypeOfCriticalSectionToUse
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:252:
/usr/include/libopenshot-audio/juce_core/containers/juce_ArrayAllocationBase.h:37:7: note: previous definition of ‘class juce::ArrayAllocationBase<ElementType, TypeOfCriticalSectionToUse>’
   37 | class ArrayAllocationBase  : public TypeOfCriticalSectionToUse
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:88:
/usr/include/libopenshot-audio/juce_core/containers/juce_ArrayBase.h:40:7: error: redefinition of ‘class juce::ArrayBase<ElementType, TypeOfCriticalSectionToUse>’
   40 | class ArrayBase  : public TypeOfCriticalSectionToUse
      |       ^~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:253:
/usr/include/libopenshot-audio/juce_core/containers/juce_ArrayBase.h:40:7: note: previous definition of ‘class juce::ArrayBase<ElementType, TypeOfCriticalSectionToUse>’
   40 | class ArrayBase  : public TypeOfCriticalSectionToUse
      |       ^~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:89:
/usr/include/libopenshot-audio/juce_core/containers/juce_DynamicObject.h:39:17: error: redefinition of ‘class juce::DynamicObject’
   39 | class JUCE_API  DynamicObject  : public ReferenceCountedObject
      |                 ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:278:
/usr/include/libopenshot-audio/juce_core/containers/juce_DynamicObject.h:39:17: note: previous definition of ‘class juce::DynamicObject’
   39 | class JUCE_API  DynamicObject  : public ReferenceCountedObject
      |                 ^~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:90:
/usr/include/libopenshot-audio/juce_core/containers/juce_ElementComparator.h:35:8: error: redefinition of ‘struct juce::SortFunctionConverter<ElementComparator>’
   35 | struct SortFunctionConverter
      |        ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:251:
/usr/include/libopenshot-audio/juce_core/containers/juce_ElementComparator.h:35:8: note: previous definition of ‘struct juce::SortFunctionConverter<ElementComparator>’
   35 | struct SortFunctionConverter
      |        ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_ElementComparator.h:79:13: error: redefinition of ‘template<class ElementType, class ElementComparator> void juce::sortArray(ElementComparator&, ElementType*, int, int, bool)’
   79 | static void sortArray (ElementComparator& comparator,
      |             ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_ElementComparator.h:79:13: note: ‘template<class ElementType, class ElementComparator> void juce::sortArray(ElementComparator&, ElementType*, int, int, bool)’ previously declared here
   79 | static void sortArray (ElementComparator& comparator,
      |             ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_ElementComparator.h:124:12: error: redefinition of ‘template<class ElementType, class ElementComparator> int juce::findInsertIndexInSortedArray(ElementComparator&, ElementType*, ElementType, int, int)’
  124 | static int findInsertIndexInSortedArray (ElementComparator& comparator,
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_ElementComparator.h:124:12: note: ‘template<class ElementType, class ElementComparator> int juce::findInsertIndexInSortedArray(ElementComparator&, ElementType*, ElementType, int, int)’ previously declared here
  124 | static int findInsertIndexInSortedArray (ElementComparator& comparator,
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_ElementComparator.h:185:7: error: redefinition of ‘class juce::DefaultElementComparator<ElementType>’
  185 | class DefaultElementComparator
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_ElementComparator.h:185:7: note: previous definition of ‘class juce::DefaultElementComparator<ElementType>’
  185 | class DefaultElementComparator
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:91:
/usr/include/libopenshot-audio/juce_core/containers/juce_HashMap.h:34:8: error: redefinition of ‘struct juce::DefaultHashFunctions’
   34 | struct DefaultHashFunctions
      |        ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:279:
/usr/include/libopenshot-audio/juce_core/containers/juce_HashMap.h:34:8: note: previous definition of ‘struct juce::DefaultHashFunctions’
   34 | struct DefaultHashFunctions
      |        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_HashMap.h:101:11: error: redefinition of default argument for ‘class HashFunctionType’
  101 |           class HashFunctionType = DefaultHashFunctions,
      |           ^~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_HashMap.h:101:11: note: original definition appeared here
  101 |           class HashFunctionType = DefaultHashFunctions,
      |           ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:92:
/usr/include/libopenshot-audio/juce_core/containers/juce_LinkedListPointer.h:56:7: error: redefinition of ‘class juce::LinkedListPointer<ObjectType>’
   56 | class LinkedListPointer
      |       ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:255:
/usr/include/libopenshot-audio/juce_core/containers/juce_LinkedListPointer.h:56:7: note: previous definition of ‘class juce::LinkedListPointer<ObjectType>’
   56 | class LinkedListPointer
      |       ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:93:
/usr/include/libopenshot-audio/juce_core/containers/juce_ListenerList.h:67:11: error: redefinition of default argument for ‘class ArrayType’
   67 |           class ArrayType = Array<ListenerClass*>>
      |           ^~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:256:
/usr/include/libopenshot-audio/juce_core/containers/juce_ListenerList.h:67:11: note: original definition appeared here
   67 |           class ArrayType = Array<ListenerClass*>>
      |           ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:94:
/usr/include/libopenshot-audio/juce_core/containers/juce_NamedValueSet.h:34:17: error: redefinition of ‘class juce::NamedValueSet’
   34 | class JUCE_API  NamedValueSet
      |                 ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:277:
/usr/include/libopenshot-audio/juce_core/containers/juce_NamedValueSet.h:34:17: note: previous definition of ‘class juce::NamedValueSet’
   34 | class JUCE_API  NamedValueSet
      |                 ^~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:95:
/usr/include/libopenshot-audio/juce_core/containers/juce_OwnedArray.h:48:11: error: redefinition of default argument for ‘class TypeOfCriticalSectionToUse’
   48 |           class TypeOfCriticalSectionToUse = DummyCriticalSection>
      |           ^~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:257:
/usr/include/libopenshot-audio/juce_core/containers/juce_OwnedArray.h:48:11: note: original definition appeared here
   48 |           class TypeOfCriticalSectionToUse = DummyCriticalSection>
      |           ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:96:
/usr/include/libopenshot-audio/juce_core/containers/juce_PropertySet.h:38:17: error: redefinition of ‘class juce::PropertySet’
   38 | class JUCE_API  PropertySet
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:335:
/usr/include/libopenshot-audio/juce_core/containers/juce_PropertySet.h:38:17: note: previous definition of ‘class juce::PropertySet’
   38 | class JUCE_API  PropertySet
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:97:
/usr/include/libopenshot-audio/juce_core/containers/juce_ReferenceCountedArray.h:49:30: error: redefinition of default argument for ‘class TypeOfCriticalSectionToUse’
   49 | template <class ObjectClass, class TypeOfCriticalSectionToUse = DummyCriticalSection>
      |                              ^~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:258:
/usr/include/libopenshot-audio/juce_core/containers/juce_ReferenceCountedArray.h:49:30: note: original definition appeared here
   49 | template <class ObjectClass, class TypeOfCriticalSectionToUse = DummyCriticalSection>
      |                              ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:98:
/usr/include/libopenshot-audio/juce_core/containers/juce_ScopedValueSetter.h:54:7: error: redefinition of ‘class juce::ScopedValueSetter<ValueType>’
   54 | class ScopedValueSetter
      |       ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:259:
/usr/include/libopenshot-audio/juce_core/containers/juce_ScopedValueSetter.h:54:7: note: previous definition of ‘class juce::ScopedValueSetter<ValueType>’
   54 | class ScopedValueSetter
      |       ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:99:
/usr/include/libopenshot-audio/juce_core/containers/juce_SortedSet.h:55:30: error: redefinition of default argument for ‘class TypeOfCriticalSectionToUse’
   55 | template <class ElementType, class TypeOfCriticalSectionToUse = DummyCriticalSection>
      |                              ^~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:260:
/usr/include/libopenshot-audio/juce_core/containers/juce_SortedSet.h:55:30: note: original definition appeared here
   55 | template <class ElementType, class TypeOfCriticalSectionToUse = DummyCriticalSection>
      |                              ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:100:
/usr/include/libopenshot-audio/juce_core/containers/juce_SparseSet.h:40:7: error: redefinition of ‘class juce::SparseSet<Type>’
   40 | class SparseSet
      |       ^~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:261:
/usr/include/libopenshot-audio/juce_core/containers/juce_SparseSet.h:40:7: note: previous definition of ‘class juce::SparseSet<Type>’
   40 | class SparseSet
      |       ^~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:101:
/usr/include/libopenshot-audio/juce_core/containers/juce_Variant.h:41:17: error: redefinition of ‘class juce::var’
   41 | class JUCE_API  var
      |                 ^~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:276:
/usr/include/libopenshot-audio/juce_core/containers/juce_Variant.h:41:17: note: previous definition of ‘class juce::var’
   41 | class JUCE_API  var
      |                 ^~~
/usr/include/libopenshot-audio/juce_core/containers/juce_Variant.h:350:8: error: redefinition of ‘struct juce::VariantConverter<Type>’
  350 | struct VariantConverter
      |        ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_Variant.h:350:8: note: previous definition of ‘struct juce::VariantConverter<Type>’
  350 | struct VariantConverter
      |        ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_Variant.h:358:8: error: redefinition of ‘struct juce::VariantConverter<juce::String>’
  358 | struct VariantConverter<String>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/containers/juce_Variant.h:358:8: note: previous definition of ‘struct juce::VariantConverter<juce::String>’
  358 | struct VariantConverter<String>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:102:
/usr/include/libopenshot-audio/juce_core/files/juce_DirectoryIterator.h:46:17: error: redefinition of ‘class juce::DirectoryIterator’
   46 | class JUCE_API  DirectoryIterator  final
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:290:
/usr/include/libopenshot-audio/juce_core/files/juce_DirectoryIterator.h:46:17: note: previous definition of ‘class juce::DirectoryIterator’
   46 | class JUCE_API  DirectoryIterator  final
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:103:
/usr/include/libopenshot-audio/juce_core/files/juce_File.h:40:17: error: redefinition of ‘class juce::File’
   40 | class JUCE_API  File final
      |                 ^~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:289:
/usr/include/libopenshot-audio/juce_core/files/juce_File.h:40:17: note: previous definition of ‘class juce::File’
   40 | class JUCE_API  File final
      |                 ^~~~
In file included from /tmp/ix0IlalA8K/dump1.h:104:
/usr/include/libopenshot-audio/juce_core/files/juce_FileFilter.h:37:17: error: redefinition of ‘class juce::FileFilter’
   37 | class JUCE_API  FileFilter
      |                 ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:296:
/usr/include/libopenshot-audio/juce_core/files/juce_FileFilter.h:37:17: note: previous definition of ‘class juce::FileFilter’
   37 | class JUCE_API  FileFilter
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:105:
/usr/include/libopenshot-audio/juce_core/files/juce_FileInputStream.h:34:17: error: redefinition of ‘class juce::FileInputStream’
   34 | class JUCE_API  FileInputStream  : public InputStream
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:291:
/usr/include/libopenshot-audio/juce_core/files/juce_FileInputStream.h:34:17: note: previous definition of ‘class juce::FileInputStream’
   34 | class JUCE_API  FileInputStream  : public InputStream
      |                 ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:106:
/usr/include/libopenshot-audio/juce_core/files/juce_FileOutputStream.h:34:17: error: redefinition of ‘class juce::FileOutputStream’
   34 | class JUCE_API  FileOutputStream  : public OutputStream
      |                 ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:292:
/usr/include/libopenshot-audio/juce_core/files/juce_FileOutputStream.h:34:17: note: previous definition of ‘class juce::FileOutputStream’
   34 | class JUCE_API  FileOutputStream  : public OutputStream
      |                 ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:107:
/usr/include/libopenshot-audio/juce_core/files/juce_FileSearchPath.h:34:17: error: redefinition of ‘class juce::FileSearchPath’
   34 | class JUCE_API  FileSearchPath
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:293:
/usr/include/libopenshot-audio/juce_core/files/juce_FileSearchPath.h:34:17: note: previous definition of ‘class juce::FileSearchPath’
   34 | class JUCE_API  FileSearchPath
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:108:
/usr/include/libopenshot-audio/juce_core/files/juce_MemoryMappedFile.h:32:17: error: redefinition of ‘class juce::MemoryMappedFile’
   32 | class JUCE_API  MemoryMappedFile
      |                 ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:294:
/usr/include/libopenshot-audio/juce_core/files/juce_MemoryMappedFile.h:32:17: note: previous definition of ‘class juce::MemoryMappedFile’
   32 | class JUCE_API  MemoryMappedFile
      |                 ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:109:
/usr/include/libopenshot-audio/juce_core/files/juce_TemporaryFile.h:64:17: error: redefinition of ‘class juce::TemporaryFile’
   64 | class JUCE_API  TemporaryFile
      |                 ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:295:
/usr/include/libopenshot-audio/juce_core/files/juce_TemporaryFile.h:64:17: note: previous definition of ‘class juce::TemporaryFile’
   64 | class JUCE_API  TemporaryFile
      |                 ^~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:110:
/usr/include/libopenshot-audio/juce_core/files/juce_WildcardFileFilter.h:37:17: error: redefinition of ‘class juce::WildcardFileFilter’
   37 | class JUCE_API  WildcardFileFilter  : public FileFilter
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:297:
/usr/include/libopenshot-audio/juce_core/files/juce_WildcardFileFilter.h:37:17: note: previous definition of ‘class juce::WildcardFileFilter’
   37 | class JUCE_API  WildcardFileFilter  : public FileFilter
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:111:
/usr/include/libopenshot-audio/juce_core/javascript/juce_JSON.h:38:17: error: redefinition of ‘class juce::JSON’
   38 | class JUCE_API  JSON
      |                 ^~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:300:
/usr/include/libopenshot-audio/juce_core/javascript/juce_JSON.h:38:17: note: previous definition of ‘class juce::JSON’
   38 | class JUCE_API  JSON
      |                 ^~~~
In file included from /tmp/ix0IlalA8K/dump1.h:112:
/usr/include/libopenshot-audio/juce_core/javascript/juce_Javascript.h:47:17: error: redefinition of ‘class juce::JavascriptEngine’
   47 | class JUCE_API  JavascriptEngine  final
      |                 ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:301:
/usr/include/libopenshot-audio/juce_core/javascript/juce_Javascript.h:47:17: note: previous definition of ‘class juce::JavascriptEngine’
   47 | class JUCE_API  JavascriptEngine  final
      |                 ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:114:
/usr/include/libopenshot-audio/juce_core/logging/juce_FileLogger.h:34:17: error: redefinition of ‘class juce::FileLogger’
   34 | class JUCE_API  FileLogger  : public Logger
      |                 ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:299:
/usr/include/libopenshot-audio/juce_core/logging/juce_FileLogger.h:34:17: note: previous definition of ‘class juce::FileLogger’
   34 | class JUCE_API  FileLogger  : public Logger
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:115:
/usr/include/libopenshot-audio/juce_core/logging/juce_Logger.h:40:17: error: redefinition of ‘class juce::Logger’
   40 | class JUCE_API  Logger
      |                 ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:236:
/usr/include/libopenshot-audio/juce_core/logging/juce_Logger.h:40:17: note: previous definition of ‘class juce::Logger’
   40 | class JUCE_API  Logger
      |                 ^~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:116:
/usr/include/libopenshot-audio/juce_core/maths/juce_BigInteger.h:38:17: error: redefinition of ‘class juce::BigInteger’
   38 | class JUCE_API  BigInteger
      |                 ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:302:
/usr/include/libopenshot-audio/juce_core/maths/juce_BigInteger.h:38:17: note: previous definition of ‘class juce::BigInteger’
   38 | class JUCE_API  BigInteger
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:117:
/usr/include/libopenshot-audio/juce_core/maths/juce_Expression.h:43:17: error: redefinition of ‘class juce::Expression’
   43 | class JUCE_API  Expression
      |                 ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:303:
/usr/include/libopenshot-audio/juce_core/maths/juce_Expression.h:43:17: note: previous definition of ‘class juce::Expression’
   43 | class JUCE_API  Expression
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:118:
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:94:21: error: redefinition of ‘template<class Type> constexpr Type juce::jmax(Type, Type)’
   94 | JUCE_CONSTEXPR Type jmax (Type a, Type b)                                   { return a < b ? b : a; }
      |                     ^~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:215:
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:94:21: note: ‘template<class Type> constexpr Type juce::jmax(Type, Type)’ previously declared here
   94 | JUCE_CONSTEXPR Type jmax (Type a, Type b)                                   { return a < b ? b : a; }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:98:21: error: redefinition of ‘template<class Type> constexpr Type juce::jmax(Type, Type, Type)’
   98 | JUCE_CONSTEXPR Type jmax (Type a, Type b, Type c)                           { return a < b ? (b < c ? c : b) : (a < c ? c : a); }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:98:21: note: ‘template<class Type> constexpr Type juce::jmax(Type, Type, Type)’ previously declared here
   98 | JUCE_CONSTEXPR Type jmax (Type a, Type b, Type c)                           { return a < b ? (b < c ? c : b) : (a < c ? c : a); }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:102:21: error: redefinition of ‘template<class Type> constexpr Type juce::jmax(Type, Type, Type, Type)’
  102 | JUCE_CONSTEXPR Type jmax (Type a, Type b, Type c, Type d)                   { return jmax (a, jmax (b, c, d)); }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:102:21: note: ‘template<class Type> constexpr Type juce::jmax(Type, Type, Type, Type)’ previously declared here
  102 | JUCE_CONSTEXPR Type jmax (Type a, Type b, Type c, Type d)                   { return jmax (a, jmax (b, c, d)); }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:106:21: error: redefinition of ‘template<class Type> constexpr Type juce::jmin(Type, Type)’
  106 | JUCE_CONSTEXPR Type jmin (Type a, Type b)                                   { return b < a ? b : a; }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:106:21: note: ‘template<class Type> constexpr Type juce::jmin(Type, Type)’ previously declared here
  106 | JUCE_CONSTEXPR Type jmin (Type a, Type b)                                   { return b < a ? b : a; }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:110:21: error: redefinition of ‘template<class Type> constexpr Type juce::jmin(Type, Type, Type)’
  110 | JUCE_CONSTEXPR Type jmin (Type a, Type b, Type c)                           { return b < a ? (c < b ? c : b) : (c < a ? c : a); }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:110:21: note: ‘template<class Type> constexpr Type juce::jmin(Type, Type, Type)’ previously declared here
  110 | JUCE_CONSTEXPR Type jmin (Type a, Type b, Type c)                           { return b < a ? (c < b ? c : b) : (c < a ? c : a); }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:114:21: error: redefinition of ‘template<class Type> constexpr Type juce::jmin(Type, Type, Type, Type)’
  114 | JUCE_CONSTEXPR Type jmin (Type a, Type b, Type c, Type d)                   { return jmin (a, jmin (b, c, d)); }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:114:21: note: ‘template<class Type> constexpr Type juce::jmin(Type, Type, Type, Type)’ previously declared here
  114 | JUCE_CONSTEXPR Type jmin (Type a, Type b, Type c, Type d)                   { return jmin (a, jmin (b, c, d)); }
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:120:21: error: redefinition of ‘template<class Type> constexpr Type juce::jmap(Type, Type, Type)’
  120 | JUCE_CONSTEXPR Type jmap (Type value0To1, Type targetRangeMin, Type targetRangeMax)
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:120:21: note: ‘template<class Type> constexpr Type juce::jmap(Type, Type, Type)’ previously declared here
  120 | JUCE_CONSTEXPR Type jmap (Type value0To1, Type targetRangeMin, Type targetRangeMax)
      |                     ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:127:6: error: redefinition of ‘template<class Type> Type juce::jmap(Type, Type, Type, Type, Type)’
  127 | Type jmap (Type sourceValue, Type sourceRangeMin, Type sourceRangeMax, Type targetRangeMin, Type targetRangeMax)
      |      ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:127:6: note: ‘template<class Type> Type juce::jmap(Type, Type, Type, Type, Type)’ previously declared here
  127 | Type jmap (Type sourceValue, Type sourceRangeMin, Type sourceRangeMax, Type targetRangeMin, Type targetRangeMax)
      |      ^~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:135:6: error: redefinition of ‘template<class Type> Type juce::findMinimum(const Type*, int)’
  135 | Type findMinimum (const Type* data, int numValues)
      |      ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:135:6: note: ‘template<class Type> Type juce::findMinimum(const Type*, int)’ previously declared here
  135 | Type findMinimum (const Type* data, int numValues)
      |      ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:155:6: error: redefinition of ‘template<class Type> Type juce::findMaximum(const Type*, int)’
  155 | Type findMaximum (const Type* values, int numValues)
      |      ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:155:6: note: ‘template<class Type> Type juce::findMaximum(const Type*, int)’ previously declared here
  155 | Type findMaximum (const Type* values, int numValues)
      |      ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:175:6: error: redefinition of ‘template<class Type> void juce::findMinAndMax(const Type*, int, Type&, Type&)’
  175 | void findMinAndMax (const Type* values, int numValues, Type& lowest, Type& highest)
      |      ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:175:6: note: ‘template<class Type> void juce::findMinAndMax(const Type*, int, Type&, Type&)’ previously declared here
  175 | void findMinAndMax (const Type* values, int numValues, Type& lowest, Type& highest)
      |      ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:218:6: error: redefinition of ‘template<class Type> Type juce::jlimit(Type, Type, Type)’
  218 | Type jlimit (Type lowerLimit,
      |      ^~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:218:6: note: ‘template<class Type> Type juce::jlimit(Type, Type, Type)’ previously declared here
  218 | Type jlimit (Type lowerLimit,
      |      ^~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:235:6: error: redefinition of ‘template<class Type1, class Type2> bool juce::isPositiveAndBelow(Type1, Type2)’
  235 | bool isPositiveAndBelow (Type1 valueToTest, Type2 upperLimit) noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:235:6: note: ‘template<class Type1, class Type2> bool juce::isPositiveAndBelow(Type1, Type2)’ previously declared here
  235 | bool isPositiveAndBelow (Type1 valueToTest, Type2 upperLimit) noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:242:6: error: redefinition of ‘template<class Type> bool juce::isPositiveAndBelow(int, Type)’
  242 | bool isPositiveAndBelow (int valueToTest, Type upperLimit) noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:242:6: note: ‘template<class Type> bool juce::isPositiveAndBelow(int, Type)’ previously declared here
  242 | bool isPositiveAndBelow (int valueToTest, Type upperLimit) noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:254:6: error: redefinition of ‘template<class Type1, class Type2> bool juce::isPositiveAndNotGreaterThan(Type1, Type2)’
  254 | bool isPositiveAndNotGreaterThan (Type1 valueToTest, Type2 upperLimit) noexcept
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:254:6: note: ‘template<class Type1, class Type2> bool juce::isPositiveAndNotGreaterThan(Type1, Type2)’ previously declared here
  254 | bool isPositiveAndNotGreaterThan (Type1 valueToTest, Type2 upperLimit) noexcept
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:261:6: error: redefinition of ‘template<class Type> bool juce::isPositiveAndNotGreaterThan(int, Type)’
  261 | bool isPositiveAndNotGreaterThan (int valueToTest, Type upperLimit) noexcept
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:261:6: note: ‘template<class Type> bool juce::isPositiveAndNotGreaterThan(int, Type)’ previously declared here
  261 | bool isPositiveAndNotGreaterThan (int valueToTest, Type upperLimit) noexcept
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:271:6: error: redefinition of ‘template<class Type> bool juce::isWithin(Type, Type, Type)’
  271 | bool isWithin (Type a, Type b, Type tolerance) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:271:6: note: ‘template<class Type> bool juce::isWithin(Type, Type, Type)’ previously declared here
  271 | bool isWithin (Type a, Type b, Type tolerance) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:280:6: error: redefinition of ‘template<class Type> bool juce::approximatelyEqual(Type, Type)’
  280 | bool approximatelyEqual (Type a, Type b) noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:280:6: note: ‘template<class Type> bool juce::approximatelyEqual(Type, Type)’ previously declared here
  280 | bool approximatelyEqual (Type a, Type b) noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:289:6: error: redefinition of ‘template<class ... Types> void juce::ignoreUnused(Types&& ...)’
  289 | void ignoreUnused (Types&&...) noexcept {}
      |      ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:289:6: note: ‘template<class ... Types> void juce::ignoreUnused(Types&& ...)’ previously declared here
  289 | void ignoreUnused (Types&&...) noexcept {}
      |      ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:300:20: error: redefinition of ‘template<class Type, unsigned int N> constexpr int juce::numElementsInArray(Type (&)[N])’
  300 | JUCE_CONSTEXPR int numElementsInArray (Type (&)[N]) noexcept     { return N; }
      |                    ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:300:20: note: ‘template<class Type, unsigned int N> constexpr int juce::numElementsInArray(Type (&)[N])’ previously declared here
  300 | JUCE_CONSTEXPR int numElementsInArray (Type (&)[N]) noexcept     { return N; }
      |                    ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:308:6: error: redefinition of ‘template<class Type> Type juce::juce_hypot(Type, Type)’
  308 | Type juce_hypot (Type a, Type b) noexcept
      |      ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:308:6: note: ‘template<class Type> Type juce::juce_hypot(Type, Type)’ previously declared here
  308 | Type juce_hypot (Type a, Type b) noexcept
      |      ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:319:14: error: redefinition of ‘Type juce::juce_hypot(Type, Type) [with Type = float]’
  319 | inline float juce_hypot (float a, float b) noexcept
      |              ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:319:14: note: ‘Type juce::juce_hypot(Type, Type) [with Type = float]’ previously declared here
  319 | inline float juce_hypot (float a, float b) noexcept
      |              ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:337:8: error: redefinition of ‘struct juce::MathConstants<FloatType>’
  337 | struct MathConstants
      |        ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:337:8: note: previous definition of ‘struct juce::MathConstants<FloatType>’
  337 | struct MathConstants
      |        ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:403:30: error: redefinition of ‘constexpr const double juce::double_Pi’
  403 | const JUCE_CONSTEXPR double  double_Pi  = MathConstants<double>::pi;
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:403:30: note: ‘constexpr const double juce::double_Pi’ previously defined here
  403 | const JUCE_CONSTEXPR double  double_Pi  = MathConstants<double>::pi;
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:410:30: error: redefinition of ‘constexpr const float juce::float_Pi’
  410 | const JUCE_CONSTEXPR float   float_Pi   = MathConstants<float>::pi;
      |                              ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:410:30: note: ‘constexpr const float juce::float_Pi’ previously defined here
  410 | const JUCE_CONSTEXPR float   float_Pi   = MathConstants<float>::pi;
      |                              ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:415:26: error: redefinition of ‘template<class FloatType> constexpr FloatType juce::degreesToRadians(FloatType)’
  415 | JUCE_CONSTEXPR FloatType degreesToRadians (FloatType degrees) noexcept     { return degrees * (MathConstants<FloatType>::pi / FloatType (180)); }
      |                          ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:415:26: note: ‘template<class FloatType> constexpr FloatType juce::degreesToRadians(FloatType)’ previously declared here
  415 | JUCE_CONSTEXPR FloatType degreesToRadians (FloatType degrees) noexcept     { return degrees * (MathConstants<FloatType>::pi / FloatType (180)); }
      |                          ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:419:26: error: redefinition of ‘template<class FloatType> constexpr FloatType juce::radiansToDegrees(FloatType)’
  419 | JUCE_CONSTEXPR FloatType radiansToDegrees (FloatType radians) noexcept     { return radians * (FloatType (180) / MathConstants<FloatType>::pi); }
      |                          ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:419:26: note: ‘template<class FloatType> constexpr FloatType juce::radiansToDegrees(FloatType)’ previously declared here
  419 | JUCE_CONSTEXPR FloatType radiansToDegrees (FloatType radians) noexcept     { return radians * (FloatType (180) / MathConstants<FloatType>::pi); }
      |                          ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:427:6: error: redefinition of ‘template<class NumericType> bool juce::juce_isfinite(NumericType)’
  427 | bool juce_isfinite (NumericType) noexcept
      |      ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:427:6: note: ‘template<class NumericType> bool juce::juce_isfinite(NumericType)’ previously declared here
  427 | bool juce_isfinite (NumericType) noexcept
      |      ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:433:13: error: redefinition of ‘bool juce::juce_isfinite(NumericType) [with NumericType = float]’
  433 | inline bool juce_isfinite (float value) noexcept
      |             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:433:13: note: ‘bool juce::juce_isfinite(NumericType) [with NumericType = float]’ previously declared here
  433 | inline bool juce_isfinite (float value) noexcept
      |             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:443:13: error: redefinition of ‘bool juce::juce_isfinite(NumericType) [with NumericType = double]’
  443 | inline bool juce_isfinite (double value) noexcept
      |             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:443:13: note: ‘bool juce::juce_isfinite(NumericType) [with NumericType = double]’ previously declared here
  443 | inline bool juce_isfinite (double value) noexcept
      |             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:471:5: error: redefinition of ‘template<class FloatType> int juce::roundToInt(FloatType)’
  471 | int roundToInt (const FloatType value) noexcept
      |     ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:471:5: note: ‘template<class FloatType> int juce::roundToInt(FloatType)’ previously declared here
  471 | int roundToInt (const FloatType value) noexcept
      |     ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:487:12: error: redefinition of ‘int juce::roundToInt(int)’
  487 | inline int roundToInt (int value) noexcept
      |            ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:487:12: note: ‘int juce::roundToInt(int)’ previously defined here
  487 | inline int roundToInt (int value) noexcept
      |            ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:504:12: error: redefinition of ‘int juce::roundToIntAccurate(double)’
  504 | inline int roundToIntAccurate (double value) noexcept
      |            ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:504:12: note: ‘int juce::roundToIntAccurate(double)’ previously defined here
  504 | inline int roundToIntAccurate (double value) noexcept
      |            ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:521:14: error: redefinition of ‘template<class FloatType> unsigned int juce::truncatePositiveToUnsignedInt(FloatType)’
  521 | unsigned int truncatePositiveToUnsignedInt (FloatType value) noexcept
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:521:14: note: ‘template<class FloatType> unsigned int juce::truncatePositiveToUnsignedInt(FloatType)’ previously declared here
  521 | unsigned int truncatePositiveToUnsignedInt (FloatType value) noexcept
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:532:21: error: redefinition of ‘template<class IntegerType> constexpr bool juce::isPowerOfTwo(IntegerType)’
  532 | JUCE_CONSTEXPR bool isPowerOfTwo (IntegerType value)
      |                     ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:532:21: note: ‘template<class IntegerType> constexpr bool juce::isPowerOfTwo(IntegerType)’ previously declared here
  532 | JUCE_CONSTEXPR bool isPowerOfTwo (IntegerType value)
      |                     ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:538:12: error: redefinition of ‘int juce::nextPowerOfTwo(int)’
  538 | inline int nextPowerOfTwo (int n) noexcept
      |            ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:538:12: note: ‘int juce::nextPowerOfTwo(int)’ previously defined here
  538 | inline int nextPowerOfTwo (int n) noexcept
      |            ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:556:12: error: redefinition of ‘int juce::countNumberOfBits(uint32)’
  556 | inline int countNumberOfBits (uint32 n) noexcept
      |            ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:556:12: note: ‘int juce::countNumberOfBits(uint32)’ previously defined here
  556 | inline int countNumberOfBits (uint32 n) noexcept
      |            ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:567:12: error: redefinition of ‘int juce::countNumberOfBits(uint64)’
  567 | inline int countNumberOfBits (uint64 n) noexcept
      |            ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:567:12: note: ‘int juce::countNumberOfBits(uint64)’ previously defined here
  567 | inline int countNumberOfBits (uint64 n) noexcept
      |            ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:576:13: error: redefinition of ‘template<class IntegerType> IntegerType juce::negativeAwareModulo(IntegerType, IntegerType)’
  576 | IntegerType negativeAwareModulo (IntegerType dividend, const IntegerType divisor) noexcept
      |             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:576:13: note: ‘template<class IntegerType> IntegerType juce::negativeAwareModulo(IntegerType, IntegerType)’ previously declared here
  576 | IntegerType negativeAwareModulo (IntegerType dividend, const IntegerType divisor) noexcept
      |             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:585:35: error: redefinition of ‘template<class NumericType> constexpr NumericType juce::square(NumericType)’
  585 | inline JUCE_CONSTEXPR NumericType square (NumericType n) noexcept
      |                                   ^~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:585:35: note: ‘template<class NumericType> constexpr NumericType juce::square(NumericType)’ previously declared here
  585 | inline JUCE_CONSTEXPR NumericType square (NumericType n) noexcept
      |                                   ^~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:637:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<Type>’
  637 |     template <typename Type> struct ParameterType                   { using type = const Type&; };
      |                                     ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:637:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<Type>’
  637 |     template <typename Type> struct ParameterType                   { using type = const Type&; };
      |                                     ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:640:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<Type&>’
  640 |     template <typename Type> struct ParameterType <Type&>           { using type = Type&; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:640:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<Type&>’
  640 |     template <typename Type> struct ParameterType <Type&>           { using type = Type&; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:641:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<Type*>’
  641 |     template <typename Type> struct ParameterType <Type*>           { using type = Type*; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:641:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<Type*>’
  641 |     template <typename Type> struct ParameterType <Type*>           { using type = Type*; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:642:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<char>’
  642 |     template <>              struct ParameterType <char>            { using type = char; };
      |                                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:642:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<char>’
  642 |     template <>              struct ParameterType <char>            { using type = char; };
      |                                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:643:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<unsigned char>’
  643 |     template <>              struct ParameterType <unsigned char>   { using type = unsigned char; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:643:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<unsigned char>’
  643 |     template <>              struct ParameterType <unsigned char>   { using type = unsigned char; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:644:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<short int>’
  644 |     template <>              struct ParameterType <short>           { using type = short; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:644:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<short int>’
  644 |     template <>              struct ParameterType <short>           { using type = short; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:645:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<short unsigned int>’
  645 |     template <>              struct ParameterType <unsigned short>  { using type = unsigned short; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:645:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<short unsigned int>’
  645 |     template <>              struct ParameterType <unsigned short>  { using type = unsigned short; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:646:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<int>’
  646 |     template <>              struct ParameterType <int>             { using type = int; };
      |                                     ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:646:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<int>’
  646 |     template <>              struct ParameterType <int>             { using type = int; };
      |                                     ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:647:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<unsigned int>’
  647 |     template <>              struct ParameterType <unsigned int>    { using type = unsigned int; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:647:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<unsigned int>’
  647 |     template <>              struct ParameterType <unsigned int>    { using type = unsigned int; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:648:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<long int>’
  648 |     template <>              struct ParameterType <long>            { using type = long; };
      |                                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:648:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<long int>’
  648 |     template <>              struct ParameterType <long>            { using type = long; };
      |                                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:649:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<long unsigned int>’
  649 |     template <>              struct ParameterType <unsigned long>   { using type = unsigned long; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:649:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<long unsigned int>’
  649 |     template <>              struct ParameterType <unsigned long>   { using type = unsigned long; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:650:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<long long int>’
  650 |     template <>              struct ParameterType <int64>           { using type = int64; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:650:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<long long int>’
  650 |     template <>              struct ParameterType <int64>           { using type = int64; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:651:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<long long unsigned int>’
  651 |     template <>              struct ParameterType <uint64>          { using type = uint64; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:651:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<long long unsigned int>’
  651 |     template <>              struct ParameterType <uint64>          { using type = uint64; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:652:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<bool>’
  652 |     template <>              struct ParameterType <bool>            { using type = bool; };
      |                                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:652:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<bool>’
  652 |     template <>              struct ParameterType <bool>            { using type = bool; };
      |                                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:653:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<float>’
  653 |     template <>              struct ParameterType <float>           { using type = float; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:653:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<float>’
  653 |     template <>              struct ParameterType <float>           { using type = float; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:654:37: error: redefinition of ‘struct juce::TypeHelpers::ParameterType<double>’
  654 |     template <>              struct ParameterType <double>          { using type = double; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:654:37: note: previous definition of ‘struct juce::TypeHelpers::ParameterType<double>’
  654 |     template <>              struct ParameterType <double>          { using type = double; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:662:37: error: redefinition of ‘struct juce::TypeHelpers::SmallestFloatType<Type>’
  662 |     template <typename Type> struct SmallestFloatType               { using type = float; };
      |                                     ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:662:37: note: previous definition of ‘struct juce::TypeHelpers::SmallestFloatType<Type>’
  662 |     template <typename Type> struct SmallestFloatType               { using type = float; };
      |                                     ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:665:37: error: redefinition of ‘struct juce::TypeHelpers::SmallestFloatType<double>’
  665 |     template <>              struct SmallestFloatType <double>      { using type = double; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:665:37: note: previous definition of ‘struct juce::TypeHelpers::SmallestFloatType<double>’
  665 |     template <>              struct SmallestFloatType <double>      { using type = double; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:673:37: error: redefinition of ‘struct juce::TypeHelpers::UnsignedTypeWithSize<bytes>’
  673 |     template <int bytes>     struct UnsignedTypeWithSize            {};
      |                                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:673:37: note: previous definition of ‘struct juce::TypeHelpers::UnsignedTypeWithSize<bytes>’
  673 |     template <int bytes>     struct UnsignedTypeWithSize            {};
      |                                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:676:37: error: redefinition of ‘struct juce::TypeHelpers::UnsignedTypeWithSize<1>’
  676 |     template <>              struct UnsignedTypeWithSize<1>         { using type = uint8; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:676:37: note: previous definition of ‘struct juce::TypeHelpers::UnsignedTypeWithSize<1>’
  676 |     template <>              struct UnsignedTypeWithSize<1>         { using type = uint8; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:677:37: error: redefinition of ‘struct juce::TypeHelpers::UnsignedTypeWithSize<2>’
  677 |     template <>              struct UnsignedTypeWithSize<2>         { using type = uint16; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:677:37: note: previous definition of ‘struct juce::TypeHelpers::UnsignedTypeWithSize<2>’
  677 |     template <>              struct UnsignedTypeWithSize<2>         { using type = uint16; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:678:37: error: redefinition of ‘struct juce::TypeHelpers::UnsignedTypeWithSize<4>’
  678 |     template <>              struct UnsignedTypeWithSize<4>         { using type = uint32; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:678:37: note: previous definition of ‘struct juce::TypeHelpers::UnsignedTypeWithSize<4>’
  678 |     template <>              struct UnsignedTypeWithSize<4>         { using type = uint32; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:679:37: error: redefinition of ‘struct juce::TypeHelpers::UnsignedTypeWithSize<8>’
  679 |     template <>              struct UnsignedTypeWithSize<8>         { using type = uint64; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:679:37: note: previous definition of ‘struct juce::TypeHelpers::UnsignedTypeWithSize<8>’
  679 |     template <>              struct UnsignedTypeWithSize<8>         { using type = uint64; };
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:686:39: error: redefinition of ‘int juce::roundDoubleToInt(double)’
  686 |  JUCE_DEPRECATED_ATTRIBUTE inline int roundDoubleToInt (double value) noexcept  { return roundToInt (value); }
      |                                       ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:686:39: note: ‘int juce::roundDoubleToInt(double)’ previously defined here
  686 |  JUCE_DEPRECATED_ATTRIBUTE inline int roundDoubleToInt (double value) noexcept  { return roundToInt (value); }
      |                                       ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:687:39: error: redefinition of ‘int juce::roundFloatToInt(float)’
  687 |  JUCE_DEPRECATED_ATTRIBUTE inline int roundFloatToInt  (float  value) noexcept  { return roundToInt (value); }
      |                                       ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:687:39: note: ‘int juce::roundFloatToInt(float)’ previously defined here
  687 |  JUCE_DEPRECATED_ATTRIBUTE inline int roundFloatToInt  (float  value) noexcept  { return roundToInt (value); }
      |                                       ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:690:41: error: redefinition of ‘juce::int64 juce::abs64(int64)’
  690 |  JUCE_DEPRECATED_ATTRIBUTE inline int64 abs64 (int64 n) noexcept                { return std::abs (n); }
      |                                         ^~~~~
/usr/include/libopenshot-audio/juce_core/maths/juce_MathsFunctions.h:690:41: note: ‘juce::int64 juce::abs64(int64)’ previously defined here
  690 |  JUCE_DEPRECATED_ATTRIBUTE inline int64 abs64 (int64 n) noexcept                { return std::abs (n); }
      |                                         ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:119:
/usr/include/libopenshot-audio/juce_core/maths/juce_NormalisableRange.h:39:7: error: redefinition of ‘class juce::NormalisableRange<ValueType>’
   39 | class NormalisableRange
      |       ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:249:
/usr/include/libopenshot-audio/juce_core/maths/juce_NormalisableRange.h:39:7: note: previous definition of ‘class juce::NormalisableRange<ValueType>’
   39 | class NormalisableRange
      |       ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:120:
/usr/include/libopenshot-audio/juce_core/maths/juce_Random.h:34:17: error: redefinition of ‘class juce::Random’
   34 | class JUCE_API  Random  final
      |                 ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:304:
/usr/include/libopenshot-audio/juce_core/maths/juce_Random.h:34:17: note: previous definition of ‘class juce::Random’
   34 | class JUCE_API  Random  final
      |                 ^~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:121:
/usr/include/libopenshot-audio/juce_core/maths/juce_Range.h:39:7: error: redefinition of ‘class juce::Range<ValueType>’
   39 | class Range
      |       ^~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:248:
/usr/include/libopenshot-audio/juce_core/maths/juce_Range.h:39:7: note: previous definition of ‘class juce::Range<ValueType>’
   39 | class Range
      |       ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:122:
/usr/include/libopenshot-audio/juce_core/maths/juce_StatisticsAccumulator.h:34:7: error: redefinition of ‘class juce::StatisticsAccumulator<FloatType>’
   34 | class StatisticsAccumulator
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:250:
/usr/include/libopenshot-audio/juce_core/maths/juce_StatisticsAccumulator.h:34:7: note: previous definition of ‘class juce::StatisticsAccumulator<FloatType>’
   34 | class StatisticsAccumulator
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:123:
/usr/include/libopenshot-audio/juce_core/memory/juce_Atomic.h:29:35: error: redefinition of ‘struct juce::AtomicHelpers::DiffTypeHelper<T>’
   29 |      template <typename T> struct DiffTypeHelper     { using Type = T; };
      |                                   ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:217:
/usr/include/libopenshot-audio/juce_core/memory/juce_Atomic.h:29:35: note: previous definition of ‘struct juce::AtomicHelpers::DiffTypeHelper<T>’
   29 |      template <typename T> struct DiffTypeHelper     { using Type = T; };
      |                                   ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Atomic.h:30:35: error: redefinition of ‘struct juce::AtomicHelpers::DiffTypeHelper<T*>’
   30 |      template <typename T> struct DiffTypeHelper<T*> { using Type = std::ptrdiff_t; };
      |                                   ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Atomic.h:30:35: note: previous definition of ‘struct juce::AtomicHelpers::DiffTypeHelper<T*>’
   30 |      template <typename T> struct DiffTypeHelper<T*> { using Type = std::ptrdiff_t; };
      |                                   ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Atomic.h:41:8: error: redefinition of ‘struct juce::Atomic<Type>’
   41 | struct Atomic  final
      |        ^~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Atomic.h:41:8: note: previous definition of ‘struct juce::Atomic<Type>’
   41 | struct Atomic  final
      |        ^~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:124:
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:32:17: error: redefinition of ‘class juce::ByteOrder’
   32 | class JUCE_API  ByteOrder
      |                 ^~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:216:
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:32:17: note: previous definition of ‘class juce::ByteOrder’
   32 | class JUCE_API  ByteOrder
      |                 ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:143:30: error: redefinition of ‘static constexpr juce::uint16 juce::ByteOrder::swap(juce::uint16)’
  143 | JUCE_CONSTEXPR inline uint16 ByteOrder::swap (uint16 v) noexcept    { return static_cast<uint16> ((v << 8) | (v >> 8)); }
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:143:30: note: ‘static constexpr juce::uint16 juce::ByteOrder::swap(juce::uint16)’ previously defined here
  143 | JUCE_CONSTEXPR inline uint16 ByteOrder::swap (uint16 v) noexcept    { return static_cast<uint16> ((v << 8) | (v >> 8)); }
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:144:30: error: redefinition of ‘static constexpr juce::int16 juce::ByteOrder::swap(juce::int16)’
  144 | JUCE_CONSTEXPR inline int16  ByteOrder::swap (int16  v) noexcept    { return static_cast<int16> (swap (static_cast<uint16> (v))); }
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:144:30: note: ‘static constexpr juce::int16 juce::ByteOrder::swap(juce::int16)’ previously defined here
  144 | JUCE_CONSTEXPR inline int16  ByteOrder::swap (int16  v) noexcept    { return static_cast<int16> (swap (static_cast<uint16> (v))); }
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:145:15: error: redefinition of ‘static juce::int32 juce::ByteOrder::swap(juce::int32)’
  145 | inline int32  ByteOrder::swap (int32 v) noexcept                    { return static_cast<int32> (swap (static_cast<uint32> (v))); }
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:145:15: note: ‘static juce::int32 juce::ByteOrder::swap(juce::int32)’ previously defined here
  145 | inline int32  ByteOrder::swap (int32 v) noexcept                    { return static_cast<int32> (swap (static_cast<uint32> (v))); }
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:146:15: error: redefinition of ‘static juce::int64 juce::ByteOrder::swap(juce::int64)’
  146 | inline int64  ByteOrder::swap (int64 v) noexcept                    { return static_cast<int64> (swap (static_cast<uint64> (v))); }
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:146:15: note: ‘static juce::int64 juce::ByteOrder::swap(juce::int64)’ previously defined here
  146 | inline int64  ByteOrder::swap (int64 v) noexcept                    { return static_cast<int64> (swap (static_cast<uint64> (v))); }
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:147:15: error: redefinition of ‘static float juce::ByteOrder::swap(float)’
  147 | inline float  ByteOrder::swap (float v) noexcept                    { union { uint32 asUInt; float asFloat;  } n; n.asFloat = v; n.asUInt = swap (n.asUInt); return n.asFloat; }
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:147:15: note: ‘static float juce::ByteOrder::swap(float)’ previously defined here
  147 | inline float  ByteOrder::swap (float v) noexcept                    { union { uint32 asUInt; float asFloat;  } n; n.asFloat = v; n.asUInt = swap (n.asUInt); return n.asFloat; }
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:148:15: error: redefinition of ‘static double juce::ByteOrder::swap(double)’
  148 | inline double ByteOrder::swap (double v) noexcept                   { union { uint64 asUInt; double asFloat; } n; n.asFloat = v; n.asUInt = swap (n.asUInt); return n.asFloat; }
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:148:15: note: ‘static double juce::ByteOrder::swap(double)’ previously defined here
  148 | inline double ByteOrder::swap (double v) noexcept                   { union { uint64 asUInt; double asFloat; } n; n.asFloat = v; n.asUInt = swap (n.asUInt); return n.asFloat; }
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:154:15: error: redefinition of ‘static juce::uint32 juce::ByteOrder::swap(juce::uint32)’
  154 | inline uint32 ByteOrder::swap (uint32 n) noexcept
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:154:15: note: ‘static juce::uint32 juce::ByteOrder::swap(juce::uint32)’ previously defined here
  154 | inline uint32 ByteOrder::swap (uint32 n) noexcept
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:170:15: error: redefinition of ‘static juce::uint64 juce::ByteOrder::swap(juce::uint64)’
  170 | inline uint64 ByteOrder::swap (uint64 value) noexcept
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:170:15: note: ‘static juce::uint64 juce::ByteOrder::swap(juce::uint64)’ previously defined here
  170 | inline uint64 ByteOrder::swap (uint64 value) noexcept
      |               ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:181:30: error: redefinition of ‘static constexpr juce::uint16 juce::ByteOrder::makeInt(juce::uint8, juce::uint8)’
  181 | JUCE_CONSTEXPR inline uint16 ByteOrder::makeInt (uint8 b0, uint8 b1) noexcept
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:181:30: note: ‘static constexpr juce::uint16 juce::ByteOrder::makeInt(juce::uint8, juce::uint8)’ previously defined here
  181 | JUCE_CONSTEXPR inline uint16 ByteOrder::makeInt (uint8 b0, uint8 b1) noexcept
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:186:30: error: redefinition of ‘static constexpr juce::uint32 juce::ByteOrder::makeInt(juce::uint8, juce::uint8, juce::uint8, juce::uint8)’
  186 | JUCE_CONSTEXPR inline uint32 ByteOrder::makeInt (uint8 b0, uint8 b1, uint8 b2, uint8 b3) noexcept
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:186:30: note: ‘static constexpr juce::uint32 juce::ByteOrder::makeInt(juce::uint8, juce::uint8, juce::uint8, juce::uint8)’ previously defined here
  186 | JUCE_CONSTEXPR inline uint32 ByteOrder::makeInt (uint8 b0, uint8 b1, uint8 b2, uint8 b3) noexcept
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:192:30: error: redefinition of ‘static constexpr juce::uint64 juce::ByteOrder::makeInt(juce::uint8, juce::uint8, juce::uint8, juce::uint8, juce::uint8, juce::uint8, juce::uint8, juce::uint8)’
  192 | JUCE_CONSTEXPR inline uint64 ByteOrder::makeInt (uint8 b0, uint8 b1, uint8 b2, uint8 b3, uint8 b4, uint8 b5, uint8 b6, uint8 b7) noexcept
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:192:30: note: ‘static constexpr juce::uint64 juce::ByteOrder::makeInt(juce::uint8, juce::uint8, juce::uint8, juce::uint8, juce::uint8, juce::uint8, juce::uint8, juce::uint8)’ previously defined here
  192 | JUCE_CONSTEXPR inline uint64 ByteOrder::makeInt (uint8 b0, uint8 b1, uint8 b2, uint8 b3, uint8 b4, uint8 b5, uint8 b6, uint8 b7) noexcept
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:198:30: error: redefinition of ‘static constexpr juce::uint16 juce::ByteOrder::littleEndianShort(const void*)’
  198 | JUCE_CONSTEXPR inline uint16 ByteOrder::littleEndianShort (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[0], static_cast<const uint8*> (bytes)[1]); }
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:198:30: note: ‘static constexpr juce::uint16 juce::ByteOrder::littleEndianShort(const void*)’ previously defined here
  198 | JUCE_CONSTEXPR inline uint16 ByteOrder::littleEndianShort (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[0], static_cast<const uint8*> (bytes)[1]); }
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:199:30: error: redefinition of ‘static constexpr juce::uint32 juce::ByteOrder::littleEndianInt(const void*)’
  199 | JUCE_CONSTEXPR inline uint32 ByteOrder::littleEndianInt   (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[0], static_cast<const uint8*> (bytes)[1],
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:199:30: note: ‘static constexpr juce::uint32 juce::ByteOrder::littleEndianInt(const void*)’ previously defined here
  199 | JUCE_CONSTEXPR inline uint32 ByteOrder::littleEndianInt   (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[0], static_cast<const uint8*> (bytes)[1],
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:201:30: error: redefinition of ‘static constexpr juce::uint64 juce::ByteOrder::littleEndianInt64(const void*)’
  201 | JUCE_CONSTEXPR inline uint64 ByteOrder::littleEndianInt64 (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[0], static_cast<const uint8*> (bytes)[1],
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:201:30: note: ‘static constexpr juce::uint64 juce::ByteOrder::littleEndianInt64(const void*)’ previously defined here
  201 | JUCE_CONSTEXPR inline uint64 ByteOrder::littleEndianInt64 (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[0], static_cast<const uint8*> (bytes)[1],
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:206:30: error: redefinition of ‘static constexpr juce::uint16 juce::ByteOrder::bigEndianShort(const void*)’
  206 | JUCE_CONSTEXPR inline uint16 ByteOrder::bigEndianShort    (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[1], static_cast<const uint8*> (bytes)[0]); }
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:206:30: note: ‘static constexpr juce::uint16 juce::ByteOrder::bigEndianShort(const void*)’ previously defined here
  206 | JUCE_CONSTEXPR inline uint16 ByteOrder::bigEndianShort    (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[1], static_cast<const uint8*> (bytes)[0]); }
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:207:30: error: redefinition of ‘static constexpr juce::uint32 juce::ByteOrder::bigEndianInt(const void*)’
  207 | JUCE_CONSTEXPR inline uint32 ByteOrder::bigEndianInt      (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[3], static_cast<const uint8*> (bytes)[2],
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:207:30: note: ‘static constexpr juce::uint32 juce::ByteOrder::bigEndianInt(const void*)’ previously defined here
  207 | JUCE_CONSTEXPR inline uint32 ByteOrder::bigEndianInt      (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[3], static_cast<const uint8*> (bytes)[2],
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:209:30: error: redefinition of ‘static constexpr juce::uint64 juce::ByteOrder::bigEndianInt64(const void*)’
  209 | JUCE_CONSTEXPR inline uint64 ByteOrder::bigEndianInt64    (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[7], static_cast<const uint8*> (bytes)[6],
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:209:30: note: ‘static constexpr juce::uint64 juce::ByteOrder::bigEndianInt64(const void*)’ previously defined here
  209 | JUCE_CONSTEXPR inline uint64 ByteOrder::bigEndianInt64    (const void* bytes) noexcept    { return makeInt (static_cast<const uint8*> (bytes)[7], static_cast<const uint8*> (bytes)[6],
      |                              ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:214:29: error: redefinition of ‘static constexpr juce::int32 juce::ByteOrder::littleEndian24Bit(const void*)’
  214 | JUCE_CONSTEXPR inline int32 ByteOrder::littleEndian24Bit  (const void* bytes) noexcept    { return (int32) ((((uint32) static_cast<const int8*> (bytes)[2]) << 16) | (((uint32) static_cast<const uint8*> (bytes)[1]) << 8) | ((uint32) static_cast<const uint8*> (bytes)[0])); }
      |                             ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:214:29: note: ‘static constexpr juce::int32 juce::ByteOrder::littleEndian24Bit(const void*)’ previously defined here
  214 | JUCE_CONSTEXPR inline int32 ByteOrder::littleEndian24Bit  (const void* bytes) noexcept    { return (int32) ((((uint32) static_cast<const int8*> (bytes)[2]) << 16) | (((uint32) static_cast<const uint8*> (bytes)[1]) << 8) | ((uint32) static_cast<const uint8*> (bytes)[0])); }
      |                             ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:215:29: error: redefinition of ‘static constexpr juce::int32 juce::ByteOrder::bigEndian24Bit(const void*)’
  215 | JUCE_CONSTEXPR inline int32 ByteOrder::bigEndian24Bit     (const void* bytes) noexcept    { return (int32) ((((uint32) static_cast<const int8*> (bytes)[0]) << 16) | (((uint32) static_cast<const uint8*> (bytes)[1]) << 8) | ((uint32) static_cast<const uint8*> (bytes)[2])); }
      |                             ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:215:29: note: ‘static constexpr juce::int32 juce::ByteOrder::bigEndian24Bit(const void*)’ previously defined here
  215 | JUCE_CONSTEXPR inline int32 ByteOrder::bigEndian24Bit     (const void* bytes) noexcept    { return (int32) ((((uint32) static_cast<const int8*> (bytes)[0]) << 16) | (((uint32) static_cast<const uint8*> (bytes)[1]) << 8) | ((uint32) static_cast<const uint8*> (bytes)[2])); }
      |                             ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:217:13: error: redefinition of ‘static void juce::ByteOrder::littleEndian24BitToChars(juce::int32, void*)’
  217 | inline void ByteOrder::littleEndian24BitToChars (int32 value, void* destBytes) noexcept   { static_cast<uint8*> (destBytes)[0] = (uint8) value;         static_cast<uint8*> (destBytes)[1] = (uint8) (value >> 8); static_cast<uint8*> (destBytes)[2] = (uint8) (value >> 16); }
      |             ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:217:13: note: ‘static void juce::ByteOrder::littleEndian24BitToChars(juce::int32, void*)’ previously defined here
  217 | inline void ByteOrder::littleEndian24BitToChars (int32 value, void* destBytes) noexcept   { static_cast<uint8*> (destBytes)[0] = (uint8) value;         static_cast<uint8*> (destBytes)[1] = (uint8) (value >> 8); static_cast<uint8*> (destBytes)[2] = (uint8) (value >> 16); }
      |             ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:218:13: error: redefinition of ‘static void juce::ByteOrder::bigEndian24BitToChars(juce::int32, void*)’
  218 | inline void ByteOrder::bigEndian24BitToChars    (int32 value, void* destBytes) noexcept   { static_cast<uint8*> (destBytes)[0] = (uint8) (value >> 16); static_cast<uint8*> (destBytes)[1] = (uint8) (value >> 8); static_cast<uint8*> (destBytes)[2] = (uint8) value; }
      |             ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ByteOrder.h:218:13: note: ‘static void juce::ByteOrder::bigEndian24BitToChars(juce::int32, void*)’ previously defined here
  218 | inline void ByteOrder::bigEndian24BitToChars    (int32 value, void* destBytes) noexcept   { static_cast<uint8*> (destBytes)[0] = (uint8) (value >> 16); static_cast<uint8*> (destBytes)[1] = (uint8) (value >> 8); static_cast<uint8*> (destBytes)[2] = (uint8) value; }
      |             ^~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:125:
/usr/include/libopenshot-audio/juce_core/memory/juce_ContainerDeletePolicy.h:40:8: error: redefinition of ‘struct juce::ContainerDeletePolicy<ObjectType>’
   40 | struct ContainerDeletePolicy
      |        ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:238:
/usr/include/libopenshot-audio/juce_core/memory/juce_ContainerDeletePolicy.h:40:8: note: previous definition of ‘struct juce::ContainerDeletePolicy<ObjectType>’
   40 | struct ContainerDeletePolicy
      |        ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:126:
/usr/include/libopenshot-audio/juce_core/memory/juce_HeapBlock.h:30:12: error: redefinition of ‘struct juce::HeapBlockHelper::ThrowOnFail<shouldThrow>’
   30 |     struct ThrowOnFail          { static void checkPointer (void*) {} };
      |            ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:239:
/usr/include/libopenshot-audio/juce_core/memory/juce_HeapBlock.h:30:12: note: previous definition of ‘struct juce::HeapBlockHelper::ThrowOnFail<shouldThrow>’
   30 |     struct ThrowOnFail          { static void checkPointer (void*) {} };
      |            ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_HeapBlock.h:33:12: error: redefinition of ‘struct juce::HeapBlockHelper::ThrowOnFail<true>’
   33 |     struct ThrowOnFail<true>    { static void checkPointer (void* data) { if (data == nullptr) throw std::bad_alloc(); } };
      |            ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_HeapBlock.h:33:12: note: previous definition of ‘struct juce::HeapBlockHelper::ThrowOnFail<true>’
   33 |     struct ThrowOnFail<true>    { static void checkPointer (void* data) { if (data == nullptr) throw std::bad_alloc(); } };
      |            ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_HeapBlock.h:85:52: error: redefinition of default argument for ‘bool throwOnFailure’
   85 | template <class ElementType, bool throwOnFailure = false>
      |                                                    ^~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_HeapBlock.h:85:52: note: original definition appeared here
   85 | template <class ElementType, bool throwOnFailure = false>
      |                                                    ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:127:
/usr/include/libopenshot-audio/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h:43:7: error: redefinition of ‘class juce::HeavyweightLeakedObjectDetector<OwnerClass>’
   43 | class HeavyweightLeakedObjectDetector
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:268:
/usr/include/libopenshot-audio/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h:43:7: note: previous definition of ‘class juce::HeavyweightLeakedObjectDetector<OwnerClass>’
   43 | class HeavyweightLeakedObjectDetector
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:128:
/usr/include/libopenshot-audio/juce_core/memory/juce_LeakedObjectDetector.h:42:7: error: redefinition of ‘class juce::LeakedObjectDetector<OwnerClass>’
   42 | class LeakedObjectDetector
      |       ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:237:
/usr/include/libopenshot-audio/juce_core/memory/juce_LeakedObjectDetector.h:42:7: note: previous definition of ‘class juce::LeakedObjectDetector<OwnerClass>’
   42 | class LeakedObjectDetector
      |       ^~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:129:
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:28:13: error: redefinition of ‘void juce::zeromem(void*, size_t)’
   28 | inline void zeromem (void* memory, size_t numBytes) noexcept        { memset (memory, 0, numBytes); }
      |             ^~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:214:
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:28:13: note: ‘void juce::zeromem(void*, size_t)’ previously defined here
   28 | inline void zeromem (void* memory, size_t numBytes) noexcept        { memset (memory, 0, numBytes); }
      |             ^~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:32:13: error: redefinition of ‘template<class Type> void juce::zerostruct(Type&)’
   32 | inline void zerostruct (Type& structure) noexcept                   { memset ((void*) &structure, 0, sizeof (structure)); }
      |             ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:32:13: note: ‘template<class Type> void juce::zerostruct(Type&)’ previously declared here
   32 | inline void zerostruct (Type& structure) noexcept                   { memset ((void*) &structure, 0, sizeof (structure)); }
      |             ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:40:13: error: redefinition of ‘template<class Type> void juce::deleteAndZero(Type&)’
   40 | inline void deleteAndZero (Type& pointer)                           { delete pointer; pointer = nullptr; }
      |             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:40:13: note: ‘template<class Type> void juce::deleteAndZero(Type&)’ previously declared here
   40 | inline void deleteAndZero (Type& pointer)                           { delete pointer; pointer = nullptr; }
      |             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:47:14: error: redefinition of ‘template<class Type, class IntegerType> Type* juce::addBytesToPointer(Type*, IntegerType)’
   47 | inline Type* addBytesToPointer (Type* basePointer, IntegerType bytes) noexcept  { return reinterpret_cast<Type*> (const_cast<char*> (reinterpret_cast<const char*> (basePointer)) + bytes); }
      |              ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:47:14: note: ‘template<class Type, class IntegerType> Type* juce::addBytesToPointer(Type*, IntegerType)’ previously declared here
   47 | inline Type* addBytesToPointer (Type* basePointer, IntegerType bytes) noexcept  { return reinterpret_cast<Type*> (const_cast<char*> (reinterpret_cast<const char*> (basePointer)) + bytes); }
      |              ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:52:14: error: redefinition of ‘template<class Type, class IntegerType> Type* juce::snapPointerToAlignment(Type*, IntegerType)’
   52 | inline Type* snapPointerToAlignment (Type* basePointer, IntegerType alignmentBytes) noexcept
      |              ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:52:14: note: ‘template<class Type, class IntegerType> Type* juce::snapPointerToAlignment(Type*, IntegerType)’ previously declared here
   52 | inline Type* snapPointerToAlignment (Type* basePointer, IntegerType alignmentBytes) noexcept
      |              ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:61:12: error: redefinition of ‘template<class Type1, class Type2> int juce::getAddressDifference(Type1*, Type2*)’
   61 | inline int getAddressDifference (Type1* pointer1, Type2* pointer2) noexcept  { return (int) (((const char*) pointer1) - (const char*) pointer2); }
      |            ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:61:12: note: ‘template<class Type1, class Type2> int juce::getAddressDifference(Type1*, Type2*)’ previously declared here
   61 | inline int getAddressDifference (Type1* pointer1, Type2* pointer2) noexcept  { return (int) (((const char*) pointer1) - (const char*) pointer2); }
      |            ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:67:14: error: redefinition of ‘template<class Type> Type* juce::createCopyIfNotNull(const Type*)’
   67 | inline Type* createCopyIfNotNull (const Type* objectToCopy) { return objectToCopy != nullptr ? new Type (*objectToCopy) : nullptr; }
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:67:14: note: ‘template<class Type> Type* juce::createCopyIfNotNull(const Type*)’ previously declared here
   67 | inline Type* createCopyIfNotNull (const Type* objectToCopy) { return objectToCopy != nullptr ? new Type (*objectToCopy) : nullptr; }
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:72:13: error: redefinition of ‘template<class Type> Type juce::readUnaligned(const void*)’
   72 | inline Type readUnaligned (const void* srcPtr) noexcept
      |             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:72:13: note: ‘template<class Type> Type juce::readUnaligned(const void*)’ previously declared here
   72 | inline Type readUnaligned (const void* srcPtr) noexcept
      |             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:81:13: error: redefinition of ‘template<class Type> void juce::writeUnaligned(void*, Type)’
   81 | inline void writeUnaligned (void* dstPtr, Type value) noexcept
      |             ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_Memory.h:81:13: note: ‘template<class Type> void juce::writeUnaligned(void*, Type)’ previously declared here
   81 | inline void writeUnaligned (void* dstPtr, Type value) noexcept
      |             ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:130:
/usr/include/libopenshot-audio/juce_core/memory/juce_MemoryBlock.h:32:17: error: redefinition of ‘class juce::MemoryBlock’
   32 | class JUCE_API  MemoryBlock
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:240:
/usr/include/libopenshot-audio/juce_core/memory/juce_MemoryBlock.h:32:17: note: previous definition of ‘class juce::MemoryBlock’
   32 | class JUCE_API  MemoryBlock
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:131:
/usr/include/libopenshot-audio/juce_core/memory/juce_OptionalScopedPointer.h:37:7: error: redefinition of ‘class juce::OptionalScopedPointer<ObjectType>’
   37 | class OptionalScopedPointer
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:243:
/usr/include/libopenshot-audio/juce_core/memory/juce_OptionalScopedPointer.h:37:7: note: previous definition of ‘class juce::OptionalScopedPointer<ObjectType>’
   37 | class OptionalScopedPointer
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:132:
/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h:65:17: error: redefinition of ‘class juce::ReferenceCountedObject’
   65 | class JUCE_API  ReferenceCountedObject
      |                 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:241:
/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h:65:17: note: previous definition of ‘class juce::ReferenceCountedObject’
   65 | class JUCE_API  ReferenceCountedObject
      |                 ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h:153:17: error: redefinition of ‘class juce::SingleThreadedReferenceCountedObject’
  153 | class JUCE_API  SingleThreadedReferenceCountedObject
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h:153:17: note: previous definition of ‘class juce::SingleThreadedReferenceCountedObject’
  153 | class JUCE_API  SingleThreadedReferenceCountedObject
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h:246:7: error: redefinition of ‘class juce::ReferenceCountedObjectPtr<ObjectType>’
  246 | class ReferenceCountedObjectPtr
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h:246:7: note: previous definition of ‘class juce::ReferenceCountedObjectPtr<ObjectType>’
  246 | class ReferenceCountedObjectPtr
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h:456:6: error: redefinition of ‘template<class Type> bool juce::operator==(const Type*, const ReferenceCountedObjectPtr<Type>&)’
  456 | bool operator== (const Type* object1, const ReferenceCountedObjectPtr<Type>& object2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h:456:6: note: ‘template<class Type> bool juce::operator==(const Type*, const ReferenceCountedObjectPtr<Type>&)’ previously declared here
  456 | bool operator== (const Type* object1, const ReferenceCountedObjectPtr<Type>& object2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h:463:6: error: redefinition of ‘template<class Type> bool juce::operator!=(const Type*, const ReferenceCountedObjectPtr<Type>&)’
  463 | bool operator!= (const Type* object1, const ReferenceCountedObjectPtr<Type>& object2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ReferenceCountedObject.h:463:6: note: ‘template<class Type> bool juce::operator!=(const Type*, const ReferenceCountedObjectPtr<Type>&)’ previously declared here
  463 | bool operator!= (const Type* object1, const ReferenceCountedObjectPtr<Type>& object2) noexcept
      |      ^~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:133:
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:33:7: error: redefinition of ‘class juce::ScopedPointer<ObjectType>’
   33 | class ScopedPointer
      |       ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:242:
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:33:7: note: previous definition of ‘class juce::ScopedPointer<ObjectType>’
   33 | class ScopedPointer
      |       ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:150:6: error: redefinition of ‘template<class ObjectType1, class ObjectType2> bool juce::operator==(ObjectType1*, const ScopedPointer<ObjectType2>&)’
  150 | bool operator== (ObjectType1* pointer1, const ScopedPointer<ObjectType2>& pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:150:6: note: ‘template<class ObjectType1, class ObjectType2> bool juce::operator==(ObjectType1*, const ScopedPointer<ObjectType2>&)’ previously declared here
  150 | bool operator== (ObjectType1* pointer1, const ScopedPointer<ObjectType2>& pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:156:6: error: redefinition of ‘template<class ObjectType1, class ObjectType2> bool juce::operator!=(ObjectType1*, const ScopedPointer<ObjectType2>&)’
  156 | bool operator!= (ObjectType1* pointer1, const ScopedPointer<ObjectType2>& pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:156:6: note: ‘template<class ObjectType1, class ObjectType2> bool juce::operator!=(ObjectType1*, const ScopedPointer<ObjectType2>&)’ previously declared here
  156 | bool operator!= (ObjectType1* pointer1, const ScopedPointer<ObjectType2>& pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:162:6: error: redefinition of ‘template<class ObjectType1, class ObjectType2> bool juce::operator==(const ScopedPointer<ObjectType1>&, ObjectType2*)’
  162 | bool operator== (const ScopedPointer<ObjectType1>& pointer1, ObjectType2* pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:162:6: note: ‘template<class ObjectType1, class ObjectType2> bool juce::operator==(const ScopedPointer<ObjectType1>&, ObjectType2*)’ previously declared here
  162 | bool operator== (const ScopedPointer<ObjectType1>& pointer1, ObjectType2* pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:168:6: error: redefinition of ‘template<class ObjectType1, class ObjectType2> bool juce::operator!=(const ScopedPointer<ObjectType1>&, ObjectType2*)’
  168 | bool operator!= (const ScopedPointer<ObjectType1>& pointer1, ObjectType2* pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:168:6: note: ‘template<class ObjectType1, class ObjectType2> bool juce::operator!=(const ScopedPointer<ObjectType1>&, ObjectType2*)’ previously declared here
  168 | bool operator!= (const ScopedPointer<ObjectType1>& pointer1, ObjectType2* pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:174:6: error: redefinition of ‘template<class ObjectType1, class ObjectType2> bool juce::operator==(const ScopedPointer<ObjectType1>&, const ScopedPointer<ObjectType2>&)’
  174 | bool operator== (const ScopedPointer<ObjectType1>& pointer1, const ScopedPointer<ObjectType2>& pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:174:6: note: ‘template<class ObjectType1, class ObjectType2> bool juce::operator==(const ScopedPointer<ObjectType1>&, const ScopedPointer<ObjectType2>&)’ previously declared here
  174 | bool operator== (const ScopedPointer<ObjectType1>& pointer1, const ScopedPointer<ObjectType2>& pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:180:6: error: redefinition of ‘template<class ObjectType1, class ObjectType2> bool juce::operator!=(const ScopedPointer<ObjectType1>&, const ScopedPointer<ObjectType2>&)’
  180 | bool operator!= (const ScopedPointer<ObjectType1>& pointer1, const ScopedPointer<ObjectType2>& pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:180:6: note: ‘template<class ObjectType1, class ObjectType2> bool juce::operator!=(const ScopedPointer<ObjectType1>&, const ScopedPointer<ObjectType2>&)’ previously declared here
  180 | bool operator!= (const ScopedPointer<ObjectType1>& pointer1, const ScopedPointer<ObjectType2>& pointer2) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:186:6: error: redefinition of ‘template<class ObjectType> bool juce::operator==(std::nullptr_t, const ScopedPointer<ObjectType1>&)’
  186 | bool operator== (decltype (nullptr), const ScopedPointer<ObjectType>& pointer) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:186:6: note: ‘template<class ObjectType> bool juce::operator==(std::nullptr_t, const ScopedPointer<ObjectType1>&)’ previously declared here
  186 | bool operator== (decltype (nullptr), const ScopedPointer<ObjectType>& pointer) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:192:6: error: redefinition of ‘template<class ObjectType> bool juce::operator!=(std::nullptr_t, const ScopedPointer<ObjectType1>&)’
  192 | bool operator!= (decltype (nullptr), const ScopedPointer<ObjectType>& pointer) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:192:6: note: ‘template<class ObjectType> bool juce::operator!=(std::nullptr_t, const ScopedPointer<ObjectType1>&)’ previously declared here
  192 | bool operator!= (decltype (nullptr), const ScopedPointer<ObjectType>& pointer) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:198:6: error: redefinition of ‘template<class ObjectType> bool juce::operator==(const ScopedPointer<ObjectType1>&, std::nullptr_t)’
  198 | bool operator== (const ScopedPointer<ObjectType>& pointer, decltype (nullptr)) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:198:6: note: ‘template<class ObjectType> bool juce::operator==(const ScopedPointer<ObjectType1>&, std::nullptr_t)’ previously declared here
  198 | bool operator== (const ScopedPointer<ObjectType>& pointer, decltype (nullptr)) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:204:6: error: redefinition of ‘template<class ObjectType> bool juce::operator!=(const ScopedPointer<ObjectType1>&, std::nullptr_t)’
  204 | bool operator!= (const ScopedPointer<ObjectType>& pointer, decltype (nullptr)) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:204:6: note: ‘template<class ObjectType> bool juce::operator!=(const ScopedPointer<ObjectType1>&, std::nullptr_t)’ previously declared here
  204 | bool operator!= (const ScopedPointer<ObjectType>& pointer, decltype (nullptr)) noexcept
      |      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:212:6: error: redefinition of ‘template<class Type> void juce::deleteAndZero(ScopedPointer<ObjectType1>&)’
  212 | void deleteAndZero (ScopedPointer<Type>&)  { static_assert (sizeof (Type) == 12345,
      |      ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/memory/juce_ScopedPointer.h:212:6: note: ‘template<class Type> void juce::deleteAndZero(ScopedPointer<ObjectType1>&)’ previously declared here
  212 | void deleteAndZero (ScopedPointer<Type>&)  { static_assert (sizeof (Type) == 12345,
      |      ^~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:134:
/usr/include/libopenshot-audio/juce_core/memory/juce_SharedResourcePointer.h:81:7: error: redefinition of ‘class juce::SharedResourcePointer<SharedObjectType>’
   81 | class SharedResourcePointer
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:336:
/usr/include/libopenshot-audio/juce_core/memory/juce_SharedResourcePointer.h:81:7: note: previous definition of ‘class juce::SharedResourcePointer<SharedObjectType>’
   81 | class SharedResourcePointer
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:135:
/usr/include/libopenshot-audio/juce_core/memory/juce_Singleton.h:38:8: error: redefinition of ‘struct juce::SingletonHolder<Type, MutexType, onlyCreateOncePerRun>’
   38 | struct SingletonHolder  : private MutexType // (inherited so we can use the empty-base-class optimisation)
      |        ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:244:
/usr/include/libopenshot-audio/juce_core/memory/juce_Singleton.h:38:8: note: previous definition of ‘struct juce::SingletonHolder<Type, MutexType, onlyCreateOncePerRun>’
   38 | struct SingletonHolder  : private MutexType // (inherited so we can use the empty-base-class optimisation)
      |        ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:136:
/usr/include/libopenshot-audio/juce_core/memory/juce_WeakReference.h:76:29: error: redefinition of default argument for ‘class ReferenceCountingType’
   76 | template <class ObjectType, class ReferenceCountingType = ReferenceCountedObject>
      |                             ^~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:245:
/usr/include/libopenshot-audio/juce_core/memory/juce_WeakReference.h:76:29: note: original definition appeared here
   76 | template <class ObjectType, class ReferenceCountingType = ReferenceCountedObject>
      |                             ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:137:
/usr/include/libopenshot-audio/juce_core/misc/juce_ConsoleApplication.h:38:8: error: redefinition of ‘struct juce::ArgumentList’
   38 | struct ArgumentList
      |        ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:275:
/usr/include/libopenshot-audio/juce_core/misc/juce_ConsoleApplication.h:38:8: note: previous definition of ‘struct juce::ArgumentList’
   38 | struct ArgumentList
      |        ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/misc/juce_ConsoleApplication.h:236:8: error: redefinition of ‘struct juce::ConsoleApplication’
  236 | struct ConsoleApplication
      |        ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/misc/juce_ConsoleApplication.h:236:8: note: previous definition of ‘struct juce::ConsoleApplication’
  236 | struct ConsoleApplication
      |        ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:138:
/usr/include/libopenshot-audio/juce_core/misc/juce_Result.h:56:17: error: redefinition of ‘class juce::Result’
   56 | class JUCE_API  Result
      |                 ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:273:
/usr/include/libopenshot-audio/juce_core/misc/juce_Result.h:56:17: note: previous definition of ‘class juce::Result’
   56 | class JUCE_API  Result
      |                 ^~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:139:
/usr/include/libopenshot-audio/juce_core/misc/juce_RuntimePermissions.h:64:17: error: redefinition of ‘class juce::RuntimePermissions’
   64 | class JUCE_API  RuntimePermissions
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:305:
/usr/include/libopenshot-audio/juce_core/misc/juce_RuntimePermissions.h:64:17: note: previous definition of ‘class juce::RuntimePermissions’
   64 | class JUCE_API  RuntimePermissions
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:140:
/usr/include/libopenshot-audio/juce_core/misc/juce_Uuid.h:38:17: error: redefinition of ‘class juce::Uuid’
   38 | class JUCE_API  Uuid
      |                 ^~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:274:
/usr/include/libopenshot-audio/juce_core/misc/juce_Uuid.h:38:17: note: previous definition of ‘class juce::Uuid’
   38 | class JUCE_API  Uuid
      |                 ^~~~
/usr/include/libopenshot-audio/juce_core/misc/juce_Uuid.h:142:24: error: redefinition of ‘struct std::hash<juce::Uuid>’
  142 |     template <> struct hash<juce::Uuid>
      |                        ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/misc/juce_Uuid.h:142:24: note: previous definition of ‘struct std::hash<juce::Uuid>’
  142 |     template <> struct hash<juce::Uuid>
      |                        ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:143:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:27:8: error: ‘JNIEnv’ does not name a type
   27 | extern JNIEnv* getEnv() noexcept;
      |        ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:81:47: error: ‘jobject’ was not declared in this scope
   81 |     inline explicit GlobalRef (const LocalRef<jobject>& o)  : obj (retain (o.get(), getEnv())) {}
      |                                               ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:81:54: error: template argument 1 is invalid
   81 |     inline explicit GlobalRef (const LocalRef<jobject>& o)  : obj (retain (o.get(), getEnv())) {}
      |                                                      ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:82:47: error: ‘jobject’ was not declared in this scope
   82 |     inline explicit GlobalRef (const LocalRef<jobject>& o, JNIEnv* env)  : obj (retain (o.get(), env)) {}
      |                                               ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:82:54: error: template argument 1 is invalid
   82 |     inline explicit GlobalRef (const LocalRef<jobject>& o, JNIEnv* env)  : obj (retain (o.get(), env)) {}
      |                                                      ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:82:60: error: ‘JNIEnv’ has not been declared
   82 |     inline explicit GlobalRef (const LocalRef<jobject>& o, JNIEnv* env)  : obj (retain (o.get(), env)) {}
      |                                                            ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:89:24: error: ‘JNIEnv’ has not been declared
   89 |     inline void clear (JNIEnv* env)
      |                        ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:115:21: error: expected type-specifier before ‘jobject’
  115 |     inline operator jobject() const noexcept    { return obj; }
      |                     ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:116:12: error: ‘jobject’ does not name a type
  116 |     inline jobject get() const noexcept         { return obj; }
      |            ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:129:31: error: ‘jobject’ does not name a type
  129 |     DECLARE_CALL_TYPE_METHOD (jobject, Object)
      |                               ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:120:9: note: in definition of macro ‘DECLARE_CALL_TYPE_METHOD’
  120 |         returnType call##typeName##Method (jmethodID methodID, ... ) const \
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:130:31: error: ‘jboolean’ does not name a type
  130 |     DECLARE_CALL_TYPE_METHOD (jboolean, Boolean)
      |                               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:120:9: note: in definition of macro ‘DECLARE_CALL_TYPE_METHOD’
  120 |         returnType call##typeName##Method (jmethodID methodID, ... ) const \
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:131:31: error: ‘jbyte’ does not name a type
  131 |     DECLARE_CALL_TYPE_METHOD (jbyte, Byte)
      |                               ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:120:9: note: in definition of macro ‘DECLARE_CALL_TYPE_METHOD’
  120 |         returnType call##typeName##Method (jmethodID methodID, ... ) const \
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:132:31: error: ‘jchar’ does not name a type; did you mean ‘char’?
  132 |     DECLARE_CALL_TYPE_METHOD (jchar, Char)
      |                               ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:120:9: note: in definition of macro ‘DECLARE_CALL_TYPE_METHOD’
  120 |         returnType call##typeName##Method (jmethodID methodID, ... ) const \
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:133:31: error: ‘jshort’ does not name a type; did you mean ‘ushort’?
  133 |     DECLARE_CALL_TYPE_METHOD (jshort, Short)
      |                               ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:120:9: note: in definition of macro ‘DECLARE_CALL_TYPE_METHOD’
  120 |         returnType call##typeName##Method (jmethodID methodID, ... ) const \
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:134:31: error: ‘jint’ does not name a type; did you mean ‘uint’?
  134 |     DECLARE_CALL_TYPE_METHOD (jint, Int)
      |                               ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:120:9: note: in definition of macro ‘DECLARE_CALL_TYPE_METHOD’
  120 |         returnType call##typeName##Method (jmethodID methodID, ... ) const \
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:135:31: error: ‘jlong’ does not name a type; did you mean ‘ulong’?
  135 |     DECLARE_CALL_TYPE_METHOD (jlong, Long)
      |                               ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:120:9: note: in definition of macro ‘DECLARE_CALL_TYPE_METHOD’
  120 |         returnType call##typeName##Method (jmethodID methodID, ... ) const \
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:136:31: error: ‘jfloat’ does not name a type; did you mean ‘float’?
  136 |     DECLARE_CALL_TYPE_METHOD (jfloat, Float)
      |                               ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:120:9: note: in definition of macro ‘DECLARE_CALL_TYPE_METHOD’
  120 |         returnType call##typeName##Method (jmethodID methodID, ... ) const \
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:137:31: error: ‘jdouble’ does not name a type; did you mean ‘double’?
  137 |     DECLARE_CALL_TYPE_METHOD (jdouble, Double)
      |                               ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:120:9: note: in definition of macro ‘DECLARE_CALL_TYPE_METHOD’
  120 |         returnType call##typeName##Method (jmethodID methodID, ... ) const \
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:140:26: error: ‘jmethodID’ has not been declared
  140 |     void callVoidMethod (jmethodID methodID, ... ) const
      |                          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:150:5: error: ‘jobject’ does not name a type
  150 |     jobject obj = nullptr;
      |     ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:152:19: error: ‘jobject’ does not name a type
  152 |     static inline jobject retain (jobject obj, JNIEnv* env)
      |                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In constructor ‘juce::GlobalRef::GlobalRef()’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:80:63: error: class ‘juce::GlobalRef’ does not have any field named ‘obj’
   80 |     inline GlobalRef() noexcept                             : obj (nullptr) {}
      |                                                               ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In constructor ‘juce::GlobalRef::GlobalRef(const int&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:81:63: error: class ‘juce::GlobalRef’ does not have any field named ‘obj’
   81 |     inline explicit GlobalRef (const LocalRef<jobject>& o)  : obj (retain (o.get(), getEnv())) {}
      |                                                               ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:81:78: error: request for member ‘get’ in ‘o’, which is of non-class type ‘const int’
   81 |     inline explicit GlobalRef (const LocalRef<jobject>& o)  : obj (retain (o.get(), getEnv())) {}
      |                                                                              ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:81:85: error: ‘getEnv’ was not declared in this scope; did you mean ‘getenv’?
   81 |     inline explicit GlobalRef (const LocalRef<jobject>& o)  : obj (retain (o.get(), getEnv())) {}
      |                                                                                     ^~~~~~
      |                                                                                     getenv
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:81:68: error: ‘retain’ was not declared in this scope
   81 |     inline explicit GlobalRef (const LocalRef<jobject>& o)  : obj (retain (o.get(), getEnv())) {}
      |                                                                    ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In constructor ‘juce::GlobalRef::GlobalRef(const int&, int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:82:76: error: class ‘juce::GlobalRef’ does not have any field named ‘obj’
   82 |     inline explicit GlobalRef (const LocalRef<jobject>& o, JNIEnv* env)  : obj (retain (o.get(), env)) {}
      |                                                                            ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:82:91: error: request for member ‘get’ in ‘o’, which is of non-class type ‘const int’
   82 |     inline explicit GlobalRef (const LocalRef<jobject>& o, JNIEnv* env)  : obj (retain (o.get(), env)) {}
      |                                                                                           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:82:81: error: ‘retain’ was not declared in this scope
   82 |     inline explicit GlobalRef (const LocalRef<jobject>& o, JNIEnv* env)  : obj (retain (o.get(), env)) {}
      |                                                                                 ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In copy constructor ‘juce::GlobalRef::GlobalRef(const juce::GlobalRef&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:83:59: error: class ‘juce::GlobalRef’ does not have any field named ‘obj’
   83 |     inline GlobalRef (const GlobalRef& other)           : obj (retain (other.obj, getEnv())) {}
      |                                                           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:83:78: error: ‘const class juce::GlobalRef’ has no member named ‘obj’
   83 |     inline GlobalRef (const GlobalRef& other)           : obj (retain (other.obj, getEnv())) {}
      |                                                                              ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:83:83: error: ‘getEnv’ was not declared in this scope; did you mean ‘getenv’?
   83 |     inline GlobalRef (const GlobalRef& other)           : obj (retain (other.obj, getEnv())) {}
      |                                                                                   ^~~~~~
      |                                                                                   getenv
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:83:64: error: ‘retain’ was not declared in this scope
   83 |     inline GlobalRef (const GlobalRef& other)           : obj (retain (other.obj, getEnv())) {}
      |                                                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In constructor ‘juce::GlobalRef::GlobalRef(juce::GlobalRef&&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:84:59: error: class ‘juce::GlobalRef’ does not have any field named ‘obj’
   84 |     inline GlobalRef (GlobalRef && other) noexcept      : obj (nullptr) { std::swap (other.obj, obj); }
      |                                                           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:84:92: error: ‘class juce::GlobalRef’ has no member named ‘obj’
   84 |     inline GlobalRef (GlobalRef && other) noexcept      : obj (nullptr) { std::swap (other.obj, obj); }
      |                                                                                            ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:84:97: error: ‘obj’ was not declared in this scope
   84 |     inline GlobalRef (GlobalRef && other) noexcept      : obj (nullptr) { std::swap (other.obj, obj); }
      |                                                                                                 ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘void juce::GlobalRef::clear()’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:88:63: error: ‘obj’ was not declared in this scope
   88 |     inline void clear()                                 { if (obj != nullptr) clear (getEnv()); }
      |                                                               ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:88:86: error: ‘getEnv’ was not declared in this scope; did you mean ‘getenv’?
   88 |     inline void clear()                                 { if (obj != nullptr) clear (getEnv()); }
      |                                                                                      ^~~~~~
      |                                                                                      getenv
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘void juce::GlobalRef::clear(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:91:13: error: ‘obj’ was not declared in this scope
   91 |         if (obj != nullptr)
      |             ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:93:18: error: request for member ‘DeleteGlobalRef’ in ‘* env’, which is of non-class type ‘int’
   93 |             env->DeleteGlobalRef (obj);
      |                  ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘juce::GlobalRef& juce::GlobalRef::operator=(const juce::GlobalRef&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:100:9: error: ‘jobject’ was not declared in this scope
  100 |         jobject newObj = retain (other.obj, getEnv());
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:102:9: error: ‘obj’ was not declared in this scope
  102 |         obj = newObj;
      |         ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:102:15: error: ‘newObj’ was not declared in this scope
  102 |         obj = newObj;
      |               ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘juce::GlobalRef& juce::GlobalRef::operator=(juce::GlobalRef&&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:109:20: error: ‘obj’ was not declared in this scope
  109 |         std::swap (obj, other.obj);
      |                    ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:109:31: error: ‘class juce::GlobalRef’ has no member named ‘obj’
  109 |         std::swap (obj, other.obj);
      |                               ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘void juce::GlobalRef::callVoidMethod(int, ...) const’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:143:9: error: ‘va_start’ was not declared in this scope
  143 |         va_start (args, methodID);
      |         ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:144:9: error: ‘getEnv’ was not declared in this scope; did you mean ‘getenv’?
  144 |         getEnv()->CallVoidMethodV (obj, methodID, args);
      |         ^~~~~~
      |         getenv
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:144:36: error: ‘obj’ was not declared in this scope
  144 |         getEnv()->CallVoidMethodV (obj, methodID, args);
      |                                    ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:145:9: error: ‘va_end’ was not declared in this scope
  145 |         va_end (args);
      |         ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:160:17: error: ‘jobject’ was not declared in this scope
  160 | extern LocalRef<jobject> getAppContext() noexcept;
      |                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:160:24: error: template argument 1 is invalid
  160 | extern LocalRef<jobject> getAppContext() noexcept;
      |                        ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:161:17: error: ‘jobject’ was not declared in this scope
  161 | extern LocalRef<jobject> getCurrentActivity() noexcept;
      |                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:161:24: error: template argument 1 is invalid
  161 | extern LocalRef<jobject> getCurrentActivity() noexcept;
      |                        ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:162:17: error: ‘jobject’ was not declared in this scope
  162 | extern LocalRef<jobject> getMainActivity() noexcept;
      |                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:162:24: error: template argument 1 is invalid
  162 | extern LocalRef<jobject> getMainActivity() noexcept;
      |                        ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:172:21: error: expected type-specifier before ‘jclass’
  172 |     inline operator jclass() const noexcept  { return classRef; }
      |                     ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:174:39: error: ‘JNIEnv’ has not been declared
  174 |     static void initialiseAllClasses (JNIEnv*);
      |                                       ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:175:36: error: ‘JNIEnv’ has not been declared
  175 |     static void releaseAllClasses (JNIEnv*);
      |                                    ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:180:36: error: ‘JNIEnv’ has not been declared
  180 |     virtual void initialiseFields (JNIEnv*) = 0;
      |                                    ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:182:5: error: ‘jmethodID’ does not name a type
  182 |     jmethodID resolveMethod (JNIEnv*, const char* methodName, const char* params);
      |     ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:183:5: error: ‘jmethodID’ does not name a type
  183 |     jmethodID resolveStaticMethod (JNIEnv*, const char* methodName, const char* params);
      |     ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:184:5: error: ‘jfieldID’ does not name a type
  184 |     jfieldID resolveField (JNIEnv*, const char* fieldName, const char* signature);
      |     ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:185:5: error: ‘jfieldID’ does not name a type
  185 |     jfieldID resolveStaticField (JNIEnv*, const char* fieldName, const char* signature);
      |     ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:186:28: error: ‘JNIEnv’ has not been declared
  186 |     void resolveCallbacks (JNIEnv*, const Array<JNINativeMethod>&);
      |                            ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:186:49: error: ‘JNINativeMethod’ was not declared in this scope
  186 |     void resolveCallbacks (JNIEnv*, const Array<JNINativeMethod>&);
      |                                                 ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:186:64: error: template argument 1 is invalid
  186 |     void resolveCallbacks (JNIEnv*, const Array<JNINativeMethod>&);
      |                                                                ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:196:5: error: ‘jclass’ does not name a type; did you mean ‘class’?
  196 |     jclass classRef = nullptr;
      |     ^~~~~~
      |     class
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:199:22: error: ‘JNIEnv’ has not been declared
  199 |     void initialise (JNIEnv*);
      |                      ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:200:19: error: ‘JNIEnv’ has not been declared
  200 |     void release (JNIEnv*);
      |                   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:201:42: error: ‘JNIEnv’ has not been declared
  201 |     void tryLoadingClassWithClassLoader (JNIEnv* env, jobject classLoader);
      |                                          ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:201:55: error: ‘jobject’ has not been declared
  201 |     void tryLoadingClassWithClassLoader (JNIEnv* env, jobject classLoader);
      |                                                       ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:243:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  243 |  METHOD (getAssets,                            "getAssets",                       "()Landroid/content/res/AssetManager;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:244:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  244 |  METHOD (getSystemService,                     "getSystemService",                "(Ljava/lang/String;)Ljava/lang/Object;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:245:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  245 |  METHOD (getPackageManager,                    "getPackageManager",               "()Landroid/content/pm/PackageManager;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:246:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  246 |  METHOD (getPackageName,                       "getPackageName",                  "()Ljava/lang/String;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:247:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  247 |  METHOD (getResources,                         "getResources",                    "()Landroid/content/res/Resources;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:248:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  248 |  METHOD (bindService,                          "bindService",                     "(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:249:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  249 |  METHOD (unbindService,                        "unbindService",                   "(Landroid/content/ServiceConnection;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:250:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  250 |  METHOD (startActivity,                        "startActivity",                   "(Landroid/content/Intent;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:251:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  251 |  METHOD (getContentResolver,                   "getContentResolver",              "()Landroid/content/ContentResolver;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:252:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  252 |  METHOD (getApplicationContext,                "getApplicationContext",           "()Landroid/content/Context;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:253:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  253 |  METHOD (getApplicationInfo,                   "getApplicationInfo",              "()Landroid/content/pm/ApplicationInfo;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:254:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  254 |  METHOD (checkCallingOrSelfPermission,         "checkCallingOrSelfPermission",    "(Ljava/lang/String;)I") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:255:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  255 |  METHOD (getCacheDir,                          "getCacheDir",                     "()Ljava/io/File;")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidContext_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:243:10: error: ‘getAssets’ was not declared in this scope
  243 |  METHOD (getAssets,                            "getAssets",                       "()Landroid/content/res/AssetManager;") \
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:243:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  243 |  METHOD (getAssets,                            "getAssets",                       "()Landroid/content/res/AssetManager;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:244:10: error: ‘getSystemService’ was not declared in this scope
  244 |  METHOD (getSystemService,                     "getSystemService",                "(Ljava/lang/String;)Ljava/lang/Object;") \
      |          ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:245:10: error: ‘getPackageManager’ was not declared in this scope; did you mean ‘MessageManager’?
  245 |  METHOD (getPackageManager,                    "getPackageManager",               "()Landroid/content/pm/PackageManager;") \
      |          ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:246:10: error: ‘getPackageName’ was not declared in this scope
  246 |  METHOD (getPackageName,                       "getPackageName",                  "()Ljava/lang/String;") \
      |          ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:247:10: error: ‘getResources’ was not declared in this scope
  247 |  METHOD (getResources,                         "getResources",                    "()Landroid/content/res/Resources;") \
      |          ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:248:10: error: ‘bindService’ was not declared in this scope
  248 |  METHOD (bindService,                          "bindService",                     "(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:249:10: error: ‘unbindService’ was not declared in this scope
  249 |  METHOD (unbindService,                        "unbindService",                   "(Landroid/content/ServiceConnection;)V") \
      |          ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:250:10: error: ‘startActivity’ was not declared in this scope; did you mean ‘getMainActivity’?
  250 |  METHOD (startActivity,                        "startActivity",                   "(Landroid/content/Intent;)V") \
      |          ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:251:10: error: ‘getContentResolver’ was not declared in this scope
  251 |  METHOD (getContentResolver,                   "getContentResolver",              "()Landroid/content/ContentResolver;") \
      |          ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:252:10: error: ‘getApplicationContext’ was not declared in this scope
  252 |  METHOD (getApplicationContext,                "getApplicationContext",           "()Landroid/content/Context;") \
      |          ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:253:10: error: ‘getApplicationInfo’ was not declared in this scope
  253 |  METHOD (getApplicationInfo,                   "getApplicationInfo",              "()Landroid/content/pm/ApplicationInfo;") \
      |          ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:254:10: error: ‘checkCallingOrSelfPermission’ was not declared in this scope
  254 |  METHOD (checkCallingOrSelfPermission,         "checkCallingOrSelfPermission",    "(Ljava/lang/String;)I") \
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:255:10: error: ‘getCacheDir’ was not declared in this scope
  255 |  METHOD (getCacheDir,                          "getCacheDir",                     "()Ljava/io/File;")
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:257:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  257 | DECLARE_JNI_CLASS (AndroidContext, "android/content/Context")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:262:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  262 |  METHOD (finish,                               "finish",                          "()V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:263:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  263 |  METHOD (getWindowManager,                     "getWindowManager",                "()Landroid/view/WindowManager;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:264:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  264 |  METHOD (setRequestedOrientation,              "setRequestedOrientation",         "(I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:265:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  265 |  METHOD (startIntentSenderForResult,           "startIntentSenderForResult",      "(Landroid/content/IntentSender;ILandroid/content/Intent;III)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:266:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  266 |  METHOD (moveTaskToBack,                       "moveTaskToBack",                  "(Z)Z") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:267:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  267 |  METHOD (startActivityForResult,               "startActivityForResult",          "(Landroid/content/Intent;I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:268:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  268 |  METHOD (getFragmentManager,                   "getFragmentManager",              "()Landroid/app/FragmentManager;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:269:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  269 |  METHOD (setContentView,                       "setContentView",                  "(Landroid/view/View;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:270:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  270 |  METHOD (getWindow,                            "getWindow",                       "()Landroid/view/Window;")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidActivity_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:262:10: error: ‘finish’ was not declared in this scope; did you mean ‘finite’?
  262 |  METHOD (finish,                               "finish",                          "()V") \
      |          ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:262:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  262 |  METHOD (finish,                               "finish",                          "()V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:263:10: error: ‘getWindowManager’ was not declared in this scope; did you mean ‘UndoManager’?
  263 |  METHOD (getWindowManager,                     "getWindowManager",                "()Landroid/view/WindowManager;") \
      |          ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:264:10: error: ‘setRequestedOrientation’ was not declared in this scope
  264 |  METHOD (setRequestedOrientation,              "setRequestedOrientation",         "(I)V") \
      |          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:265:10: error: ‘startIntentSenderForResult’ was not declared in this scope
  265 |  METHOD (startIntentSenderForResult,           "startIntentSenderForResult",      "(Landroid/content/IntentSender;ILandroid/content/Intent;III)V") \
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:266:10: error: ‘moveTaskToBack’ was not declared in this scope
  266 |  METHOD (moveTaskToBack,                       "moveTaskToBack",                  "(Z)Z") \
      |          ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:267:10: error: ‘startActivityForResult’ was not declared in this scope
  267 |  METHOD (startActivityForResult,               "startActivityForResult",          "(Landroid/content/Intent;I)V") \
      |          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:268:10: error: ‘getFragmentManager’ was not declared in this scope
  268 |  METHOD (getFragmentManager,                   "getFragmentManager",              "()Landroid/app/FragmentManager;") \
      |          ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:269:10: error: ‘setContentView’ was not declared in this scope
  269 |  METHOD (setContentView,                       "setContentView",                  "(Landroid/view/View;)V") \
      |          ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:270:10: error: ‘getWindow’ was not declared in this scope
  270 |  METHOD (getWindow,                            "getWindow",                       "()Landroid/view/Window;")
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:272:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  272 | DECLARE_JNI_CLASS (AndroidActivity, "android/app/Activity")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:280:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  280 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidFragment, "android/app/Fragment", 11)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:277:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  277 |  METHOD (startActivityForResult,               "startActivityForResult",          "(Landroid/content/Intent;I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:280:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  280 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidFragment, "android/app/Fragment", 11)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:278:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  278 |  METHOD (setArguments,                         "setArguments",                    "(Landroid/os/Bundle;)V")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:280:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  280 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidFragment, "android/app/Fragment", 11)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidFragment_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:280:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  280 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidFragment, "android/app/Fragment", 11)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:280:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  280 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidFragment, "android/app/Fragment", 11)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:277:10: error: ‘startActivityForResult’ was not declared in this scope
  277 |  METHOD (startActivityForResult,               "startActivityForResult",          "(Landroid/content/Intent;I)V") \
      |          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:280:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  280 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidFragment, "android/app/Fragment", 11)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:277:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  277 |  METHOD (startActivityForResult,               "startActivityForResult",          "(Landroid/content/Intent;I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:280:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  280 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidFragment, "android/app/Fragment", 11)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:278:10: error: ‘setArguments’ was not declared in this scope
  278 |  METHOD (setArguments,                         "setArguments",                    "(Landroid/os/Bundle;)V")
      |          ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:280:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  280 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidFragment, "android/app/Fragment", 11)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:285:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  285 |   METHOD (build,          "build",          "()Landroid/media/AudioAttributes;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:286:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  286 |   METHOD (constructor,    "<init>",         "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:287:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  287 |   METHOD (setContentType, "setContentType", "(I)Landroid/media/AudioAttributes$Builder;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:288:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  288 |   METHOD (setUsage,       "setUsage",       "(I)Landroid/media/AudioAttributes$Builder;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidAudioAttributesBuilder_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:285:11: error: ‘build’ was not declared in this scope
  285 |   METHOD (build,          "build",          "()Landroid/media/AudioAttributes;") \
      |           ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:285:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  285 |   METHOD (build,          "build",          "()Landroid/media/AudioAttributes;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:286:11: error: ‘constructor’ was not declared in this scope
  286 |   METHOD (constructor,    "<init>",         "()V") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:287:11: error: ‘setContentType’ was not declared in this scope
  287 |   METHOD (setContentType, "setContentType", "(I)Landroid/media/AudioAttributes$Builder;") \
      |           ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:288:11: error: ‘setUsage’ was not declared in this scope
  288 |   METHOD (setUsage,       "setUsage",       "(I)Landroid/media/AudioAttributes$Builder;")
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:290:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  290 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidAudioAttributesBuilder, "android/media/AudioAttributes$Builder", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:297:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  297 | DECLARE_JNI_CLASS (AndroidAudioManager, "android/media/AudioManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:294:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  294 |   METHOD (abandonAudioFocus, "abandonAudioFocus", "(Landroid/media/AudioManager$OnAudioFocusChangeListener;)I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:297:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  297 | DECLARE_JNI_CLASS (AndroidAudioManager, "android/media/AudioManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:295:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  295 |   METHOD (requestAudioFocus, "requestAudioFocus", "(Landroid/media/AudioManager$OnAudioFocusChangeListener;II)I")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:297:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  297 | DECLARE_JNI_CLASS (AndroidAudioManager, "android/media/AudioManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidAudioManager_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:297:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  297 | DECLARE_JNI_CLASS (AndroidAudioManager, "android/media/AudioManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:297:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  297 | DECLARE_JNI_CLASS (AndroidAudioManager, "android/media/AudioManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:294:11: error: ‘abandonAudioFocus’ was not declared in this scope
  294 |   METHOD (abandonAudioFocus, "abandonAudioFocus", "(Landroid/media/AudioManager$OnAudioFocusChangeListener;)I") \
      |           ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:297:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  297 | DECLARE_JNI_CLASS (AndroidAudioManager, "android/media/AudioManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:294:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  294 |   METHOD (abandonAudioFocus, "abandonAudioFocus", "(Landroid/media/AudioManager$OnAudioFocusChangeListener;)I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:297:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  297 | DECLARE_JNI_CLASS (AndroidAudioManager, "android/media/AudioManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:295:11: error: ‘requestAudioFocus’ was not declared in this scope
  295 |   METHOD (requestAudioFocus, "requestAudioFocus", "(Landroid/media/AudioManager$OnAudioFocusChangeListener;II)I")
      |           ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:297:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  297 | DECLARE_JNI_CLASS (AndroidAudioManager, "android/media/AudioManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:301:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  301 |   STATICMETHOD (createBitmap,     "createBitmap", "(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:302:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  302 |   STATICMETHOD (createBitmapFrom, "createBitmap", "(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:303:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  303 |   METHOD (compress,  "compress",  "(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:304:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  304 |   METHOD (getHeight, "getHeight", "()I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:305:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  305 |   METHOD (getWidth,  "getWidth",  "()I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:306:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  306 |   METHOD (recycle,   "recycle",   "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:307:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  307 |   METHOD (setPixel,  "setPixel",  "(III)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:308:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  308 |   METHOD (getPixels, "getPixels",  "([IIIIIII)V")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidBitmap_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:301:17: error: ‘createBitmap’ was not declared in this scope
  301 |   STATICMETHOD (createBitmap,     "createBitmap", "(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;") \
      |                 ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:301:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  301 |   STATICMETHOD (createBitmap,     "createBitmap", "(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:302:17: error: ‘createBitmapFrom’ was not declared in this scope
  302 |   STATICMETHOD (createBitmapFrom, "createBitmap", "(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;") \
      |                 ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:303:11: error: ‘compress’ was not declared in this scope
  303 |   METHOD (compress,  "compress",  "(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:303:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  303 |   METHOD (compress,  "compress",  "(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:304:11: error: ‘getHeight’ was not declared in this scope
  304 |   METHOD (getHeight, "getHeight", "()I") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:305:11: error: ‘getWidth’ was not declared in this scope; did you mean ‘getuid’?
  305 |   METHOD (getWidth,  "getWidth",  "()I") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:306:11: error: ‘recycle’ was not declared in this scope
  306 |   METHOD (recycle,   "recycle",   "()V") \
      |           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:307:11: error: ‘setPixel’ was not declared in this scope
  307 |   METHOD (setPixel,  "setPixel",  "(III)V") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:308:11: error: ‘getPixels’ was not declared in this scope
  308 |   METHOD (getPixels, "getPixels",  "([IIIIIII)V")
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:310:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  310 | DECLARE_JNI_CLASS (AndroidBitmap, "android/graphics/Bitmap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:316:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  316 | DECLARE_JNI_CLASS (AndroidBitmapConfig, "android/graphics/Bitmap$Config")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:314:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  314 |   STATICMETHOD (valueOf, "valueOf", "(Ljava/lang/String;)Landroid/graphics/Bitmap$Config;")
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:316:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  316 | DECLARE_JNI_CLASS (AndroidBitmapConfig, "android/graphics/Bitmap$Config")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidBitmapConfig_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:316:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  316 | DECLARE_JNI_CLASS (AndroidBitmapConfig, "android/graphics/Bitmap$Config")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:316:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  316 | DECLARE_JNI_CLASS (AndroidBitmapConfig, "android/graphics/Bitmap$Config")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:314:17: error: ‘valueOf’ was not declared in this scope; did you mean ‘Value’?
  314 |   STATICMETHOD (valueOf, "valueOf", "(Ljava/lang/String;)Landroid/graphics/Bitmap$Config;")
      |                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:316:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  316 | DECLARE_JNI_CLASS (AndroidBitmapConfig, "android/graphics/Bitmap$Config")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:314:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  314 |   STATICMETHOD (valueOf, "valueOf", "(Ljava/lang/String;)Landroid/graphics/Bitmap$Config;")
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:316:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  316 | DECLARE_JNI_CLASS (AndroidBitmapConfig, "android/graphics/Bitmap$Config")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:322:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  322 | DECLARE_JNI_CLASS (AndroidBitmapFactory, "android/graphics/BitmapFactory")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:320:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  320 |   STATICMETHOD (decodeByteArray, "decodeByteArray", "([BII)Landroid/graphics/Bitmap;")
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:322:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  322 | DECLARE_JNI_CLASS (AndroidBitmapFactory, "android/graphics/BitmapFactory")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidBitmapFactory_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:322:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  322 | DECLARE_JNI_CLASS (AndroidBitmapFactory, "android/graphics/BitmapFactory")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:322:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  322 | DECLARE_JNI_CLASS (AndroidBitmapFactory, "android/graphics/BitmapFactory")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:320:17: error: ‘decodeByteArray’ was not declared in this scope
  320 |   STATICMETHOD (decodeByteArray, "decodeByteArray", "([BII)Landroid/graphics/Bitmap;")
      |                 ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:322:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  322 | DECLARE_JNI_CLASS (AndroidBitmapFactory, "android/graphics/BitmapFactory")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:320:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  320 |   STATICMETHOD (decodeByteArray, "decodeByteArray", "([BII)Landroid/graphics/Bitmap;")
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:322:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  322 | DECLARE_JNI_CLASS (AndroidBitmapFactory, "android/graphics/BitmapFactory")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:326:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  326 |   METHOD (constructor,        "<init>",             "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:327:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  327 |   METHOD (containsKey,        "containsKey",        "(Ljava/lang/String;)Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:328:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  328 |   METHOD (get,                "get",                "(Ljava/lang/String;)Ljava/lang/Object;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:329:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  329 |   METHOD (getBoolean,         "getBoolean",         "(Ljava/lang/String;)Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:330:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  330 |   METHOD (getBundle,          "getBundle",          "(Ljava/lang/String;)Landroid/os/Bundle;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:331:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  331 |   METHOD (getCharSequence,    "getCharSequence",    "(Ljava/lang/String;)Ljava/lang/CharSequence;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:332:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  332 |   METHOD (getInt,             "getInt",             "(Ljava/lang/String;)I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:333:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  333 |   METHOD (getLong,            "getLong",            "(Ljava/lang/String;)J") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:334:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  334 |   METHOD (getLongArray,       "getLongArray",       "(Ljava/lang/String;)[J") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:335:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  335 |   METHOD (getParcelable,      "getParcelable",      "(Ljava/lang/String;)Landroid/os/Parcelable;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:336:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  336 |   METHOD (getString,          "getString",          "(Ljava/lang/String;)Ljava/lang/String;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:337:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  337 |   METHOD (getStringArrayList, "getStringArrayList", "(Ljava/lang/String;)Ljava/util/ArrayList;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:338:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  338 |   METHOD (keySet,             "keySet",             "()Ljava/util/Set;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:339:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  339 |   METHOD (putBoolean,         "putBoolean",         "(Ljava/lang/String;Z)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:340:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  340 |   METHOD (putBundle,          "putBundle",          "(Ljava/lang/String;Landroid/os/Bundle;)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:341:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  341 |   METHOD (putFloat,           "putFloat",           "(Ljava/lang/String;F)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:342:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  342 |   METHOD (putInt,             "putInt",             "(Ljava/lang/String;I)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:343:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  343 |   METHOD (putLong,            "putLong",            "(Ljava/lang/String;J)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:344:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  344 |   METHOD (putLongArray,       "putLongArray",       "(Ljava/lang/String;[J)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:345:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  345 |   METHOD (putString,          "putString",          "(Ljava/lang/String;Ljava/lang/String;)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:346:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  346 |   METHOD (putStringArrayList, "putStringArrayList", "(Ljava/lang/String;Ljava/util/ArrayList;)V")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidBundle_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:326:11: error: ‘constructor’ was not declared in this scope
  326 |   METHOD (constructor,        "<init>",             "()V") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:326:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  326 |   METHOD (constructor,        "<init>",             "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:327:11: error: ‘containsKey’ was not declared in this scope
  327 |   METHOD (containsKey,        "containsKey",        "(Ljava/lang/String;)Z") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:328:11: error: ‘get’ was not declared in this scope; did you mean ‘std::get’?
  328 |   METHOD (get,                "get",                "(Ljava/lang/String;)Ljava/lang/Object;") \
      |           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/functional:63,
                 from /usr/include/libopenshot-audio/juce_core/system/juce_StandardHeader.h:50,
                 from /usr/include/libopenshot-audio/juce_core/juce_core.h:196:
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:329:11: error: ‘getBoolean’ was not declared in this scope
  329 |   METHOD (getBoolean,         "getBoolean",         "(Ljava/lang/String;)Z") \
      |           ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:330:11: error: ‘getBundle’ was not declared in this scope
  330 |   METHOD (getBundle,          "getBundle",          "(Ljava/lang/String;)Landroid/os/Bundle;") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:331:11: error: ‘getCharSequence’ was not declared in this scope
  331 |   METHOD (getCharSequence,    "getCharSequence",    "(Ljava/lang/String;)Ljava/lang/CharSequence;") \
      |           ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:332:11: error: ‘getInt’ was not declared in this scope; did you mean ‘netent’?
  332 |   METHOD (getInt,             "getInt",             "(Ljava/lang/String;)I") \
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:333:11: error: ‘getLong’ was not declared in this scope
  333 |   METHOD (getLong,            "getLong",            "(Ljava/lang/String;)J") \
      |           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:334:11: error: ‘getLongArray’ was not declared in this scope; did you mean ‘StringArray’?
  334 |   METHOD (getLongArray,       "getLongArray",       "(Ljava/lang/String;)[J") \
      |           ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:335:11: error: ‘getParcelable’ was not declared in this scope
  335 |   METHOD (getParcelable,      "getParcelable",      "(Ljava/lang/String;)Landroid/os/Parcelable;") \
      |           ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:336:11: error: ‘getString’ was not declared in this scope; did you mean ‘String’?
  336 |   METHOD (getString,          "getString",          "(Ljava/lang/String;)Ljava/lang/String;") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:337:11: error: ‘getStringArrayList’ was not declared in this scope
  337 |   METHOD (getStringArrayList, "getStringArrayList", "(Ljava/lang/String;)Ljava/util/ArrayList;") \
      |           ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:338:11: error: ‘keySet’ was not declared in this scope; did you mean ‘key_t’?
  338 |   METHOD (keySet,             "keySet",             "()Ljava/util/Set;") \
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:339:11: error: ‘putBoolean’ was not declared in this scope
  339 |   METHOD (putBoolean,         "putBoolean",         "(Ljava/lang/String;Z)V") \
      |           ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:340:11: error: ‘putBundle’ was not declared in this scope
  340 |   METHOD (putBundle,          "putBundle",          "(Ljava/lang/String;Landroid/os/Bundle;)V") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:341:11: error: ‘putFloat’ was not declared in this scope
  341 |   METHOD (putFloat,           "putFloat",           "(Ljava/lang/String;F)V") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:342:11: error: ‘putInt’ was not declared in this scope; did you mean ‘putenv’?
  342 |   METHOD (putInt,             "putInt",             "(Ljava/lang/String;I)V") \
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:343:11: error: ‘putLong’ was not declared in this scope; did you mean ‘ulong’?
  343 |   METHOD (putLong,            "putLong",            "(Ljava/lang/String;J)V") \
      |           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:344:11: error: ‘putLongArray’ was not declared in this scope; did you mean ‘StringArray’?
  344 |   METHOD (putLongArray,       "putLongArray",       "(Ljava/lang/String;[J)V") \
      |           ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:345:11: error: ‘putString’ was not declared in this scope; did you mean ‘String’?
  345 |   METHOD (putString,          "putString",          "(Ljava/lang/String;Ljava/lang/String;)V") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:346:11: error: ‘putStringArrayList’ was not declared in this scope
  346 |   METHOD (putStringArrayList, "putStringArrayList", "(Ljava/lang/String;Ljava/util/ArrayList;)V")
      |           ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:348:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  348 | DECLARE_JNI_CLASS (AndroidBundle, "android/os/Bundle")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:354:3: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  354 |   DECLARE_JNI_CLASS (AndroidDebug, "android/os/Debug")
      |   ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:352:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  352 |   STATICMETHOD (dumpReferenceTables, "dumpReferenceTables", "()V")
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:354:3: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  354 |   DECLARE_JNI_CLASS (AndroidDebug, "android/os/Debug")
      |   ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidDebug_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:354:3: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  354 |   DECLARE_JNI_CLASS (AndroidDebug, "android/os/Debug")
      |   ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:354:3: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  354 |   DECLARE_JNI_CLASS (AndroidDebug, "android/os/Debug")
      |   ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:352:17: error: ‘dumpReferenceTables’ was not declared in this scope
  352 |   STATICMETHOD (dumpReferenceTables, "dumpReferenceTables", "()V")
      |                 ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:354:3: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  354 |   DECLARE_JNI_CLASS (AndroidDebug, "android/os/Debug")
      |   ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:352:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  352 |   STATICMETHOD (dumpReferenceTables, "dumpReferenceTables", "()V")
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:354:3: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  354 |   DECLARE_JNI_CLASS (AndroidDebug, "android/os/Debug")
      |   ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:364:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  364 | DECLARE_JNI_CLASS (AndroidDisplay, "android/view/Display")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:360:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  360 |  METHOD (getRotation, "getRotation", "()I") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:364:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  364 | DECLARE_JNI_CLASS (AndroidDisplay, "android/view/Display")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:361:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  361 |  METHOD (getMetrics,  "getMetrics",  "(Landroid/util/DisplayMetrics;)V" ) \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:364:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  364 | DECLARE_JNI_CLASS (AndroidDisplay, "android/view/Display")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:362:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  362 |  METHOD (getSize,     "getSize",     "(Landroid/graphics/Point;)V" )
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:364:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  364 | DECLARE_JNI_CLASS (AndroidDisplay, "android/view/Display")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidDisplay_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:364:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  364 | DECLARE_JNI_CLASS (AndroidDisplay, "android/view/Display")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:364:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  364 | DECLARE_JNI_CLASS (AndroidDisplay, "android/view/Display")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:360:10: error: ‘getRotation’ was not declared in this scope
  360 |  METHOD (getRotation, "getRotation", "()I") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:364:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  364 | DECLARE_JNI_CLASS (AndroidDisplay, "android/view/Display")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:360:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  360 |  METHOD (getRotation, "getRotation", "()I") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:364:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  364 | DECLARE_JNI_CLASS (AndroidDisplay, "android/view/Display")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:361:10: error: ‘getMetrics’ was not declared in this scope
  361 |  METHOD (getMetrics,  "getMetrics",  "(Landroid/util/DisplayMetrics;)V" ) \
      |          ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:364:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  364 | DECLARE_JNI_CLASS (AndroidDisplay, "android/view/Display")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:362:10: error: ‘getSize’ was not declared in this scope; did you mean ‘getline’?
  362 |  METHOD (getSize,     "getSize",     "(Landroid/graphics/Point;)V" )
      |          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:364:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  364 | DECLARE_JNI_CLASS (AndroidDisplay, "android/view/Display")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:368:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  368 |   METHOD (constructor,           "<init>",      "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:369:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  369 |   METHOD (constructorWithLooper, "<init>",      "(Landroid/os/Looper;)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:370:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  370 |   METHOD (post,                  "post",        "(Ljava/lang/Runnable;)Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:371:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  371 |   METHOD (postDelayed,           "postDelayed", "(Ljava/lang/Runnable;J)Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidHandler_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:368:11: error: ‘constructor’ was not declared in this scope
  368 |   METHOD (constructor,           "<init>",      "()V") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:368:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  368 |   METHOD (constructor,           "<init>",      "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:369:11: error: ‘constructorWithLooper’ was not declared in this scope
  369 |   METHOD (constructorWithLooper, "<init>",      "(Landroid/os/Looper;)V") \
      |           ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:370:11: error: ‘post’ was not declared in this scope
  370 |   METHOD (post,                  "post",        "(Ljava/lang/Runnable;)Z") \
      |           ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:371:11: error: ‘postDelayed’ was not declared in this scope
  371 |   METHOD (postDelayed,           "postDelayed", "(Ljava/lang/Runnable;J)Z") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:373:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  373 | DECLARE_JNI_CLASS (AndroidHandler, "android/os/Handler")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:377:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  377 |   METHOD (constructor, "<init>",     "(Ljava/lang/String;)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:378:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  378 |   METHOD (getLooper,   "getLooper",  "()Landroid/os/Looper;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:379:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  379 |   METHOD (join,        "join",       "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:380:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  380 |   METHOD (start,       "start",      "()V")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidHandlerThread_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:377:11: error: ‘constructor’ was not declared in this scope
  377 |   METHOD (constructor, "<init>",     "(Ljava/lang/String;)V") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:377:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  377 |   METHOD (constructor, "<init>",     "(Ljava/lang/String;)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:378:11: error: ‘getLooper’ was not declared in this scope
  378 |   METHOD (getLooper,   "getLooper",  "()Landroid/os/Looper;") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:379:11: error: ‘join’ was not declared in this scope; did you mean ‘jmin’?
  379 |   METHOD (join,        "join",       "()V") \
      |           ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:380:11: error: ‘start’ was not declared in this scope; did you mean ‘stat’?
  380 |   METHOD (start,       "start",      "()V")
      |           ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:382:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  382 | DECLARE_JNI_CLASS (AndroidHandlerThread, "android/os/HandlerThread")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:386:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  386 |   STATICMETHOD (createChooser, "createChooser", "(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:387:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  387 |   METHOD (addCategory,                    "addCategory",    "(Ljava/lang/String;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:388:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  388 |   METHOD (constructor,                    "<init>",         "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:389:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  389 |   METHOD (constructorWithContextAndClass, "<init>",         "(Landroid/content/Context;Ljava/lang/Class;)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:390:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  390 |   METHOD (constructWithString,            "<init>",         "(Ljava/lang/String;)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:391:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  391 |   METHOD (constructWithUri,               "<init>",         "(Ljava/lang/String;Landroid/net/Uri;)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:392:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  392 |   METHOD (getAction,                      "getAction",      "()Ljava/lang/String;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:393:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  393 |   METHOD (getCategories,                  "getCategories",  "()Ljava/util/Set;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:394:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  394 |   METHOD (getData,                        "getData",        "()Landroid/net/Uri;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:395:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  395 |   METHOD (getExtras,                      "getExtras",      "()Landroid/os/Bundle;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:396:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  396 |   METHOD (getIntExtra,                    "getIntExtra",    "(Ljava/lang/String;I)I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:397:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  397 |   METHOD (getStringExtra,                 "getStringExtra", "(Ljava/lang/String;)Ljava/lang/String;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:398:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  398 |   METHOD (putExtra,                       "putExtra",       "(Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:399:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  399 |   METHOD (putExtras,                      "putExtras",      "(Landroid/os/Bundle;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:400:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  400 |   METHOD (putExtraString,                 "putExtra",       "(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:401:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  401 |   METHOD (putExtraStrings,                "putExtra",       "(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:402:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  402 |   METHOD (putExtraParcelable,             "putExtra",       "(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:403:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  403 |   METHOD (putParcelableArrayListExtra,    "putParcelableArrayListExtra", "(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:404:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  404 |   METHOD (setAction,                      "setAction",      "(Ljava/lang/String;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:405:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  405 |   METHOD (setFlags,                       "setFlags",       "(I)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:406:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  406 |   METHOD (setPackage,                     "setPackage",     "(Ljava/lang/String;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:407:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  407 |   METHOD (setType,                        "setType",        "(Ljava/lang/String;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidIntent_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:386:17: error: ‘createChooser’ was not declared in this scope
  386 |   STATICMETHOD (createChooser, "createChooser", "(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent;") \
      |                 ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:386:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  386 |   STATICMETHOD (createChooser, "createChooser", "(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:387:11: error: ‘addCategory’ was not declared in this scope
  387 |   METHOD (addCategory,                    "addCategory",    "(Ljava/lang/String;)Landroid/content/Intent;") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:387:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  387 |   METHOD (addCategory,                    "addCategory",    "(Ljava/lang/String;)Landroid/content/Intent;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:388:11: error: ‘constructor’ was not declared in this scope
  388 |   METHOD (constructor,                    "<init>",         "()V") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:389:11: error: ‘constructorWithContextAndClass’ was not declared in this scope
  389 |   METHOD (constructorWithContextAndClass, "<init>",         "(Landroid/content/Context;Ljava/lang/Class;)V") \
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:390:11: error: ‘constructWithString’ was not declared in this scope
  390 |   METHOD (constructWithString,            "<init>",         "(Ljava/lang/String;)V") \
      |           ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:391:11: error: ‘constructWithUri’ was not declared in this scope
  391 |   METHOD (constructWithUri,               "<init>",         "(Ljava/lang/String;Landroid/net/Uri;)V") \
      |           ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:392:11: error: ‘getAction’ was not declared in this scope
  392 |   METHOD (getAction,                      "getAction",      "()Ljava/lang/String;") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:393:11: error: ‘getCategories’ was not declared in this scope
  393 |   METHOD (getCategories,                  "getCategories",  "()Ljava/util/Set;") \
      |           ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:394:11: error: ‘getData’ was not declared in this scope; did you mean ‘getdate’?
  394 |   METHOD (getData,                        "getData",        "()Landroid/net/Uri;") \
      |           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:395:11: error: ‘getExtras’ was not declared in this scope
  395 |   METHOD (getExtras,                      "getExtras",      "()Landroid/os/Bundle;") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:396:11: error: ‘getIntExtra’ was not declared in this scope
  396 |   METHOD (getIntExtra,                    "getIntExtra",    "(Ljava/lang/String;I)I") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:397:11: error: ‘getStringExtra’ was not declared in this scope
  397 |   METHOD (getStringExtra,                 "getStringExtra", "(Ljava/lang/String;)Ljava/lang/String;") \
      |           ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:398:11: error: ‘putExtra’ was not declared in this scope
  398 |   METHOD (putExtra,                       "putExtra",       "(Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/content/Intent;") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:399:11: error: ‘putExtras’ was not declared in this scope
  399 |   METHOD (putExtras,                      "putExtras",      "(Landroid/os/Bundle;)Landroid/content/Intent;") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:400:11: error: ‘putExtraString’ was not declared in this scope
  400 |   METHOD (putExtraString,                 "putExtra",       "(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;") \
      |           ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:401:11: error: ‘putExtraStrings’ was not declared in this scope
  401 |   METHOD (putExtraStrings,                "putExtra",       "(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent;") \
      |           ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:402:11: error: ‘putExtraParcelable’ was not declared in this scope
  402 |   METHOD (putExtraParcelable,             "putExtra",       "(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;") \
      |           ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:403:11: error: ‘putParcelableArrayListExtra’ was not declared in this scope
  403 |   METHOD (putParcelableArrayListExtra,    "putParcelableArrayListExtra", "(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;") \
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:404:11: error: ‘setAction’ was not declared in this scope; did you mean ‘sigaction’?
  404 |   METHOD (setAction,                      "setAction",      "(Ljava/lang/String;)Landroid/content/Intent;") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:405:11: error: ‘setFlags’ was not declared in this scope
  405 |   METHOD (setFlags,                       "setFlags",       "(I)Landroid/content/Intent;") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:406:11: error: ‘setPackage’ was not declared in this scope
  406 |   METHOD (setPackage,                     "setPackage",     "(Ljava/lang/String;)Landroid/content/Intent;") \
      |           ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:407:11: error: ‘setType’ was not declared in this scope
  407 |   METHOD (setType,                        "setType",        "(Ljava/lang/String;)Landroid/content/Intent;") \
      |           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:409:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  409 | DECLARE_JNI_CLASS (AndroidIntent, "android/content/Intent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:413:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  413 |  METHOD (constructor,    "<init>",        "()V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:414:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  414 |  METHOD (postRotate,     "postRotate",    "(FFF)Z") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:415:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  415 |  METHOD (postScale,      "postScale",     "(FFFF)Z") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:416:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  416 |  METHOD (postTranslate,  "postTranslate", "(FF)Z") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:417:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  417 |  METHOD (setValues,      "setValues",     "([F)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:418:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  418 |  METHOD (mapRect,        "mapRect",       "(Landroid/graphics/RectF;)Z")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidMatrix_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:413:10: error: ‘constructor’ was not declared in this scope
  413 |  METHOD (constructor,    "<init>",        "()V") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:413:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  413 |  METHOD (constructor,    "<init>",        "()V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:414:10: error: ‘postRotate’ was not declared in this scope
  414 |  METHOD (postRotate,     "postRotate",    "(FFF)Z") \
      |          ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:415:10: error: ‘postScale’ was not declared in this scope
  415 |  METHOD (postScale,      "postScale",     "(FFFF)Z") \
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:416:10: error: ‘postTranslate’ was not declared in this scope; did you mean ‘translate’?
  416 |  METHOD (postTranslate,  "postTranslate", "(FF)Z") \
      |          ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:417:10: error: ‘setValues’ was not declared in this scope
  417 |  METHOD (setValues,      "setValues",     "([F)V") \
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:418:10: error: ‘mapRect’ was not declared in this scope
  418 |  METHOD (mapRect,        "mapRect",       "(Landroid/graphics/RectF;)Z")
      |          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:420:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  420 | DECLARE_JNI_CLASS (AndroidMatrix, "android/graphics/Matrix")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:428:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  428 | DECLARE_JNI_CLASS (AndroidPackageManager, "android/content/pm/PackageManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:424:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  424 |  METHOD (getPackageInfo, "getPackageInfo", "(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:428:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  428 | DECLARE_JNI_CLASS (AndroidPackageManager, "android/content/pm/PackageManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:425:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  425 |  METHOD (resolveActivity, "resolveActivity", "(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:428:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  428 | DECLARE_JNI_CLASS (AndroidPackageManager, "android/content/pm/PackageManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:426:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  426 |  METHOD (hasSystemFeature, "hasSystemFeature", "(Ljava/lang/String;)Z")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:428:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  428 | DECLARE_JNI_CLASS (AndroidPackageManager, "android/content/pm/PackageManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidPackageManager_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:428:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  428 | DECLARE_JNI_CLASS (AndroidPackageManager, "android/content/pm/PackageManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:428:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  428 | DECLARE_JNI_CLASS (AndroidPackageManager, "android/content/pm/PackageManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:424:10: error: ‘getPackageInfo’ was not declared in this scope
  424 |  METHOD (getPackageInfo, "getPackageInfo", "(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;") \
      |          ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:428:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  428 | DECLARE_JNI_CLASS (AndroidPackageManager, "android/content/pm/PackageManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:424:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  424 |  METHOD (getPackageInfo, "getPackageInfo", "(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:428:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  428 | DECLARE_JNI_CLASS (AndroidPackageManager, "android/content/pm/PackageManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:425:10: error: ‘resolveActivity’ was not declared in this scope
  425 |  METHOD (resolveActivity, "resolveActivity", "(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;") \
      |          ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:428:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  428 | DECLARE_JNI_CLASS (AndroidPackageManager, "android/content/pm/PackageManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:426:10: error: ‘hasSystemFeature’ was not declared in this scope
  426 |  METHOD (hasSystemFeature, "hasSystemFeature", "(Ljava/lang/String;)Z")
      |          ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:428:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  428 | DECLARE_JNI_CLASS (AndroidPackageManager, "android/content/pm/PackageManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:436:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  436 |  DECLARE_JNI_CLASS (AndroidPackageInfo, "android/content/pm/PackageInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:432:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  432 |  FIELD (requestedPermissions,   "requestedPermissions",   "[Ljava/lang/String;") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:436:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  436 |  DECLARE_JNI_CLASS (AndroidPackageInfo, "android/content/pm/PackageInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:433:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  433 |  FIELD (activities,             "activities",             "[Landroid/content/pm/ActivityInfo;") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:436:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  436 |  DECLARE_JNI_CLASS (AndroidPackageInfo, "android/content/pm/PackageInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:434:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  434 |  FIELD (providers,              "providers",              "[Landroid/content/pm/ProviderInfo;")
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:436:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  436 |  DECLARE_JNI_CLASS (AndroidPackageInfo, "android/content/pm/PackageInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidPackageInfo_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:436:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  436 |  DECLARE_JNI_CLASS (AndroidPackageInfo, "android/content/pm/PackageInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:436:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  436 |  DECLARE_JNI_CLASS (AndroidPackageInfo, "android/content/pm/PackageInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:432:9: error: ‘requestedPermissions’ was not declared in this scope
  432 |  FIELD (requestedPermissions,   "requestedPermissions",   "[Ljava/lang/String;") \
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:436:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  436 |  DECLARE_JNI_CLASS (AndroidPackageInfo, "android/content/pm/PackageInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:77: error: ‘resolveField’ was not declared in this scope
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:432:2: note: in expansion of macro ‘CREATE_JNI_FIELD’
  432 |  FIELD (requestedPermissions,   "requestedPermissions",   "[Ljava/lang/String;") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:436:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  436 |  DECLARE_JNI_CLASS (AndroidPackageInfo, "android/content/pm/PackageInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:433:9: error: ‘activities’ was not declared in this scope
  433 |  FIELD (activities,             "activities",             "[Landroid/content/pm/ActivityInfo;") \
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:436:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  436 |  DECLARE_JNI_CLASS (AndroidPackageInfo, "android/content/pm/PackageInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:434:9: error: ‘providers’ was not declared in this scope
  434 |  FIELD (providers,              "providers",              "[Landroid/content/pm/ProviderInfo;")
      |         ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:436:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  436 |  DECLARE_JNI_CLASS (AndroidPackageInfo, "android/content/pm/PackageInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:443:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  443 |  DECLARE_JNI_CLASS (AndroidPackageItemInfo, "android/content/pm/PackageItemInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:440:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  440 |  FIELD (name,        "name",        "Ljava/lang/String;") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:443:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  443 |  DECLARE_JNI_CLASS (AndroidPackageItemInfo, "android/content/pm/PackageItemInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:441:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  441 |  FIELD (packageName, "packageName", "Ljava/lang/String;")
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:443:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  443 |  DECLARE_JNI_CLASS (AndroidPackageItemInfo, "android/content/pm/PackageItemInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidPackageItemInfo_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:443:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  443 |  DECLARE_JNI_CLASS (AndroidPackageItemInfo, "android/content/pm/PackageItemInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:443:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  443 |  DECLARE_JNI_CLASS (AndroidPackageItemInfo, "android/content/pm/PackageItemInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:440:9: error: ‘name’ was not declared in this scope
  440 |  FIELD (name,        "name",        "Ljava/lang/String;") \
      |         ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:443:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  443 |  DECLARE_JNI_CLASS (AndroidPackageItemInfo, "android/content/pm/PackageItemInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:77: error: ‘resolveField’ was not declared in this scope
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:440:2: note: in expansion of macro ‘CREATE_JNI_FIELD’
  440 |  FIELD (name,        "name",        "Ljava/lang/String;") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:443:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  443 |  DECLARE_JNI_CLASS (AndroidPackageItemInfo, "android/content/pm/PackageItemInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:441:9: error: ‘packageName’ was not declared in this scope
  441 |  FIELD (packageName, "packageName", "Ljava/lang/String;")
      |         ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:443:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  443 |  DECLARE_JNI_CLASS (AndroidPackageItemInfo, "android/content/pm/PackageItemInfo")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:447:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  447 |  METHOD (constructor,   "<init>",           "(I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:448:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  448 |  METHOD (setColor,      "setColor",         "(I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:449:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  449 |  METHOD (setAlpha,      "setAlpha",         "(I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:450:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  450 |  METHOD (setTypeface,   "setTypeface",      "(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:451:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  451 |  METHOD (ascent,        "ascent",           "()F") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:452:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  452 |  METHOD (descent,       "descent",          "()F") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:453:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  453 |  METHOD (setTextSize,   "setTextSize",      "(F)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:454:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  454 |  METHOD (getTextWidths, "getTextWidths",    "(Ljava/lang/String;[F)I") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:455:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  455 |  METHOD (setTextScaleX, "setTextScaleX",    "(F)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:456:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  456 |  METHOD (getTextPath,   "getTextPath",      "(Ljava/lang/String;IIFFLandroid/graphics/Path;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:457:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  457 |  METHOD (getCharsPath,  "getTextPath",      "([CIIFFLandroid/graphics/Path;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:458:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  458 |  METHOD (setShader,     "setShader",        "(Landroid/graphics/Shader;)Landroid/graphics/Shader;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidPaint_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:447:10: error: ‘constructor’ was not declared in this scope
  447 |  METHOD (constructor,   "<init>",           "(I)V") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:447:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  447 |  METHOD (constructor,   "<init>",           "(I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:448:10: error: ‘setColor’ was not declared in this scope
  448 |  METHOD (setColor,      "setColor",         "(I)V") \
      |          ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:449:10: error: ‘setAlpha’ was not declared in this scope
  449 |  METHOD (setAlpha,      "setAlpha",         "(I)V") \
      |          ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:450:10: error: ‘setTypeface’ was not declared in this scope
  450 |  METHOD (setTypeface,   "setTypeface",      "(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:451:10: error: ‘ascent’ was not declared in this scope; did you mean ‘rpcent’?
  451 |  METHOD (ascent,        "ascent",           "()F") \
      |          ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:452:10: error: ‘descent’ was not declared in this scope
  452 |  METHOD (descent,       "descent",          "()F") \
      |          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:453:10: error: ‘setTextSize’ was not declared in this scope
  453 |  METHOD (setTextSize,   "setTextSize",      "(F)V") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:454:10: error: ‘getTextWidths’ was not declared in this scope
  454 |  METHOD (getTextWidths, "getTextWidths",    "(Ljava/lang/String;[F)I") \
      |          ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:455:10: error: ‘setTextScaleX’ was not declared in this scope
  455 |  METHOD (setTextScaleX, "setTextScaleX",    "(F)V") \
      |          ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:456:10: error: ‘getTextPath’ was not declared in this scope
  456 |  METHOD (getTextPath,   "getTextPath",      "(Ljava/lang/String;IIFFLandroid/graphics/Path;)V") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:457:10: error: ‘getCharsPath’ was not declared in this scope; did you mean ‘getClassPath’?
  457 |  METHOD (getCharsPath,  "getTextPath",      "([CIIFFLandroid/graphics/Path;)V") \
      |          ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:458:10: error: ‘setShader’ was not declared in this scope
  458 |  METHOD (setShader,     "setShader",        "(Landroid/graphics/Shader;)Landroid/graphics/Shader;") \
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:460:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  460 | DECLARE_JNI_CLASS (AndroidPaint, "android/graphics/Paint")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:464:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  464 |  METHOD (create,          "<init>",           "(Landroid/graphics/Bitmap;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:465:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  465 |  METHOD (setMatrix,       "setMatrix",        "(Landroid/graphics/Matrix;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:466:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  466 |  METHOD (drawPath,        "drawPath",         "(Landroid/graphics/Path;Landroid/graphics/Paint;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:467:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  467 |  METHOD (drawBitmap,      "drawBitmap",       "([IIIFFIIZLandroid/graphics/Paint;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:468:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  468 |  METHOD (getClipBounds,   "getClipBounds",    "()Landroid/graphics/Rect;")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidCanvas_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:464:10: error: ‘create’ was not declared in this scope; did you mean ‘creat’?
  464 |  METHOD (create,          "<init>",           "(Landroid/graphics/Bitmap;)V") \
      |          ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:464:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  464 |  METHOD (create,          "<init>",           "(Landroid/graphics/Bitmap;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:465:10: error: ‘setMatrix’ was not declared in this scope
  465 |  METHOD (setMatrix,       "setMatrix",        "(Landroid/graphics/Matrix;)V") \
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:466:10: error: ‘drawPath’ was not declared in this scope
  466 |  METHOD (drawPath,        "drawPath",         "(Landroid/graphics/Path;Landroid/graphics/Paint;)V") \
      |          ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:467:10: error: ‘drawBitmap’ was not declared in this scope; did you mean ‘AndroidBitmap’?
  467 |  METHOD (drawBitmap,      "drawBitmap",       "([IIIFFIIZLandroid/graphics/Paint;)V") \
      |          ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:468:10: error: ‘getClipBounds’ was not declared in this scope
  468 |  METHOD (getClipBounds,   "getClipBounds",    "()Landroid/graphics/Rect;")
      |          ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:470:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  470 |  DECLARE_JNI_CLASS (AndroidCanvas, "android/graphics/Canvas")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:477:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  477 | DECLARE_JNI_CLASS (AndroidPendingIntent, "android/app/PendingIntent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:474:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  474 |   STATICMETHOD (getActivity, "getActivity", "(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:477:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  477 | DECLARE_JNI_CLASS (AndroidPendingIntent, "android/app/PendingIntent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:475:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  475 |   METHOD (getIntentSender, "getIntentSender", "()Landroid/content/IntentSender;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:477:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  477 | DECLARE_JNI_CLASS (AndroidPendingIntent, "android/app/PendingIntent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidPendingIntent_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:477:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  477 | DECLARE_JNI_CLASS (AndroidPendingIntent, "android/app/PendingIntent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:477:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  477 | DECLARE_JNI_CLASS (AndroidPendingIntent, "android/app/PendingIntent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:474:17: error: ‘getActivity’ was not declared in this scope; did you mean ‘getMainActivity’?
  474 |   STATICMETHOD (getActivity, "getActivity", "(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;") \
      |                 ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:477:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  477 | DECLARE_JNI_CLASS (AndroidPendingIntent, "android/app/PendingIntent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:474:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  474 |   STATICMETHOD (getActivity, "getActivity", "(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:477:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  477 | DECLARE_JNI_CLASS (AndroidPendingIntent, "android/app/PendingIntent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:475:11: error: ‘getIntentSender’ was not declared in this scope
  475 |   METHOD (getIntentSender, "getIntentSender", "()Landroid/content/IntentSender;")
      |           ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:477:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  477 | DECLARE_JNI_CLASS (AndroidPendingIntent, "android/app/PendingIntent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:475:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  475 |   METHOD (getIntentSender, "getIntentSender", "()Landroid/content/IntentSender;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:477:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  477 | DECLARE_JNI_CLASS (AndroidPendingIntent, "android/app/PendingIntent")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:483:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  483 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidRange, "android/util/Range", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:481:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  481 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:483:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  483 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidRange, "android/util/Range", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidRange_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:483:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  483 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidRange, "android/util/Range", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:483:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  483 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidRange, "android/util/Range", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:481:11: error: ‘toString’ was not declared in this scope; did you mean ‘String’?
  481 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:483:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  483 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidRange, "android/util/Range", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:481:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  481 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:483:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  483 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidRange, "android/util/Range", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:487:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  487 |  METHOD (create,   "<init>",   "(II)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:488:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  488 |  FIELD  (x,        "x",        "I") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:489:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  489 |  FIELD  (y,        "y",        "I")
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidPoint_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:487:10: error: ‘create’ was not declared in this scope; did you mean ‘creat’?
  487 |  METHOD (create,   "<init>",   "(II)V") \
      |          ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:487:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  487 |  METHOD (create,   "<init>",   "(II)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:488:10: error: ‘x’ was not declared in this scope
  488 |  FIELD  (x,        "x",        "I") \
      |          ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:77: error: ‘resolveField’ was not declared in this scope
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:488:2: note: in expansion of macro ‘CREATE_JNI_FIELD’
  488 |  FIELD  (x,        "x",        "I") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:489:10: error: ‘y’ was not declared in this scope; did you mean ‘yn’?
  489 |  FIELD  (y,        "y",        "I")
      |          ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:491:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  491 | DECLARE_JNI_CLASS (AndroidPoint, "android/graphics/Point")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:495:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  495 |  METHOD (constructor,   "<init>",   "(IIII)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:496:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  496 |  FIELD (left,           "left",     "I") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:497:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  497 |  FIELD (right,          "right",    "I") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:498:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  498 |  FIELD (top,            "top",      "I") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:213:66: error: ‘jfieldID’ does not name a type
  213 | #define DECLARE_JNI_FIELD(fieldID, stringName, signature)        jfieldID  fieldID;
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:499:2: note: in expansion of macro ‘DECLARE_JNI_FIELD’
  499 |  FIELD (bottom,         "bottom",   "I")
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidRect_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:495:10: error: ‘constructor’ was not declared in this scope
  495 |  METHOD (constructor,   "<init>",   "(IIII)V") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:495:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  495 |  METHOD (constructor,   "<init>",   "(IIII)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:496:9: error: ‘left’ was not declared in this scope; did you mean ‘std::left’?
  496 |  FIELD (left,           "left",     "I") \
      |         ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/ios:42,
                 from /usr/include/c++/12/ostream:38,
                 from /usr/include/c++/12/iostream:39,
                 from /usr/include/libopenshot-audio/juce_core/system/juce_StandardHeader.h:49:
/usr/include/c++/12/bits/ios_base.h:1038:3: note: ‘std::left’ declared here
 1038 |   left(ios_base& __base)
      |   ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:77: error: ‘resolveField’ was not declared in this scope
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:496:2: note: in expansion of macro ‘CREATE_JNI_FIELD’
  496 |  FIELD (left,           "left",     "I") \
      |  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:497:9: error: ‘right’ was not declared in this scope; did you mean ‘std::right’?
  497 |  FIELD (right,          "right",    "I") \
      |         ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/ios_base.h:1046:3: note: ‘std::right’ declared here
 1046 |   right(ios_base& __base)
      |   ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:498:9: error: ‘top’ was not declared in this scope
  498 |  FIELD (top,            "top",      "I") \
      |         ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:499:9: error: ‘bottom’ was not declared in this scope
  499 |  FIELD (bottom,         "bottom",   "I")
      |         ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:209:66: note: in definition of macro ‘CREATE_JNI_FIELD’
  209 | #define CREATE_JNI_FIELD(fieldID, stringName, signature)         fieldID  = resolveField (env, stringName, signature);
      |                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:501:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  501 | DECLARE_JNI_CLASS (AndroidRect, "android/graphics/Rect")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:508:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  508 | DECLARE_JNI_CLASS (AndroidResources, "android/content/res/Resources")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:505:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  505 |   METHOD (getIdentifier,     "getIdentifier",     "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:508:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  508 | DECLARE_JNI_CLASS (AndroidResources, "android/content/res/Resources")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:506:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  506 |   METHOD (openRawResourceFd, "openRawResourceFd", "(I)Landroid/content/res/AssetFileDescriptor;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:508:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  508 | DECLARE_JNI_CLASS (AndroidResources, "android/content/res/Resources")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidResources_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:508:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  508 | DECLARE_JNI_CLASS (AndroidResources, "android/content/res/Resources")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:508:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  508 | DECLARE_JNI_CLASS (AndroidResources, "android/content/res/Resources")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:505:11: error: ‘getIdentifier’ was not declared in this scope; did you mean ‘Identifier’?
  505 |   METHOD (getIdentifier,     "getIdentifier",     "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I") \
      |           ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:508:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  508 | DECLARE_JNI_CLASS (AndroidResources, "android/content/res/Resources")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:505:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  505 |   METHOD (getIdentifier,     "getIdentifier",     "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:508:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  508 | DECLARE_JNI_CLASS (AndroidResources, "android/content/res/Resources")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:506:11: error: ‘openRawResourceFd’ was not declared in this scope
  506 |   METHOD (openRawResourceFd, "openRawResourceFd", "(I)Landroid/content/res/AssetFileDescriptor;")
      |           ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:508:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  508 | DECLARE_JNI_CLASS (AndroidResources, "android/content/res/Resources")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:515:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  515 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidSize, "android/util/Size", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:512:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  512 |   METHOD (getHeight, "getHeight", "()I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:515:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  515 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidSize, "android/util/Size", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:513:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  513 |   METHOD (getWidth,  "getWidth",  "()I")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:515:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  515 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidSize, "android/util/Size", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidSize_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:515:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  515 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidSize, "android/util/Size", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:515:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  515 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidSize, "android/util/Size", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:512:11: error: ‘getHeight’ was not declared in this scope
  512 |   METHOD (getHeight, "getHeight", "()I") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:515:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  515 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidSize, "android/util/Size", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:512:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  512 |   METHOD (getHeight, "getHeight", "()I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:515:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  515 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidSize, "android/util/Size", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:513:11: error: ‘getWidth’ was not declared in this scope; did you mean ‘getuid’?
  513 |   METHOD (getWidth,  "getWidth",  "()I")
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:515:1: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  515 | DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidSize, "android/util/Size", 21)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:522:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  522 | DECLARE_JNI_CLASS (AndroidUri, "android/net/Uri")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:519:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  519 |   STATICMETHOD (parse, "parse", "(Ljava/lang/String;)Landroid/net/Uri;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:522:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  522 | DECLARE_JNI_CLASS (AndroidUri, "android/net/Uri")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:520:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  520 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:522:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  522 | DECLARE_JNI_CLASS (AndroidUri, "android/net/Uri")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidUri_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:522:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  522 | DECLARE_JNI_CLASS (AndroidUri, "android/net/Uri")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:522:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  522 | DECLARE_JNI_CLASS (AndroidUri, "android/net/Uri")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:519:17: error: ‘parse’ was not declared in this scope; did you mean ‘pause’?
  519 |   STATICMETHOD (parse, "parse", "(Ljava/lang/String;)Landroid/net/Uri;") \
      |                 ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:522:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  522 | DECLARE_JNI_CLASS (AndroidUri, "android/net/Uri")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:519:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  519 |   STATICMETHOD (parse, "parse", "(Ljava/lang/String;)Landroid/net/Uri;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:522:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  522 | DECLARE_JNI_CLASS (AndroidUri, "android/net/Uri")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:520:11: error: ‘toString’ was not declared in this scope; did you mean ‘String’?
  520 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:522:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  522 | DECLARE_JNI_CLASS (AndroidUri, "android/net/Uri")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:520:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  520 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:522:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  522 | DECLARE_JNI_CLASS (AndroidUri, "android/net/Uri")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:526:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  526 |  METHOD (construct,                 "<init>",                    "(Landroid/content/Context;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:527:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  527 |  METHOD (layout,                    "layout",                    "(IIII)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:528:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  528 |  METHOD (getLeft,                   "getLeft",                   "()I") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:529:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  529 |  METHOD (getTop,                    "getTop",                    "()I") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:530:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  530 |  METHOD (getWidth,                  "getWidth",                  "()I") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:531:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  531 |  METHOD (getHeight,                 "getHeight",                 "()I") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:532:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  532 |  METHOD (getLocationOnScreen,       "getLocationOnScreen",       "([I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:533:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  533 |  METHOD (getParent,                 "getParent",                 "()Landroid/view/ViewParent;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:534:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  534 |  METHOD (bringToFront,              "bringToFront",              "()V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:535:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  535 |  METHOD (requestFocus,              "requestFocus",              "()Z") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:536:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  536 |  METHOD (hasFocus,                  "hasFocus",                  "()Z") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:537:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  537 |  METHOD (invalidate,                "invalidate",                "(IIII)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:538:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  538 |  METHOD (setVisibility,             "setVisibility",             "(I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:539:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  539 |  METHOD (setLayoutParams,           "setLayoutParams",           "(Landroid/view/ViewGroup$LayoutParams;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:540:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  540 |  METHOD (setSystemUiVisibility,     "setSystemUiVisibility",     "(I)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:541:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  541 |  METHOD (findViewById,              "findViewById",              "(I)Landroid/view/View;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:542:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  542 |  METHOD (getRootView,               "getRootView",               "()Landroid/view/View;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:543:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  543 |  METHOD (addOnLayoutChangeListener, "addOnLayoutChangeListener", "(Landroid/view/View$OnLayoutChangeListener;)V")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidView_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:526:10: error: ‘construct’ was not declared in this scope; did you mean ‘struct’?
  526 |  METHOD (construct,                 "<init>",                    "(Landroid/content/Context;)V") \
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:526:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  526 |  METHOD (construct,                 "<init>",                    "(Landroid/content/Context;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:527:10: error: ‘layout’ was not declared in this scope
  527 |  METHOD (layout,                    "layout",                    "(IIII)V") \
      |          ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:528:10: error: ‘getLeft’ was not declared in this scope; did you mean ‘gettext’?
  528 |  METHOD (getLeft,                   "getLeft",                   "()I") \
      |          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:529:10: error: ‘getTop’ was not declared in this scope; did you mean ‘getopt’?
  529 |  METHOD (getTop,                    "getTop",                    "()I") \
      |          ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:530:10: error: ‘getWidth’ was not declared in this scope; did you mean ‘getuid’?
  530 |  METHOD (getWidth,                  "getWidth",                  "()I") \
      |          ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:531:10: error: ‘getHeight’ was not declared in this scope
  531 |  METHOD (getHeight,                 "getHeight",                 "()I") \
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:532:10: error: ‘getLocationOnScreen’ was not declared in this scope
  532 |  METHOD (getLocationOnScreen,       "getLocationOnScreen",       "([I)V") \
      |          ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:533:10: error: ‘getParent’ was not declared in this scope; did you mean ‘getpwent’?
  533 |  METHOD (getParent,                 "getParent",                 "()Landroid/view/ViewParent;") \
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:534:10: error: ‘bringToFront’ was not declared in this scope
  534 |  METHOD (bringToFront,              "bringToFront",              "()V") \
      |          ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:535:10: error: ‘requestFocus’ was not declared in this scope
  535 |  METHOD (requestFocus,              "requestFocus",              "()Z") \
      |          ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:536:10: error: ‘hasFocus’ was not declared in this scope
  536 |  METHOD (hasFocus,                  "hasFocus",                  "()Z") \
      |          ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:537:10: error: ‘invalidate’ was not declared in this scope
  537 |  METHOD (invalidate,                "invalidate",                "(IIII)V") \
      |          ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:538:10: error: ‘setVisibility’ was not declared in this scope
  538 |  METHOD (setVisibility,             "setVisibility",             "(I)V") \
      |          ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:539:10: error: ‘setLayoutParams’ was not declared in this scope
  539 |  METHOD (setLayoutParams,           "setLayoutParams",           "(Landroid/view/ViewGroup$LayoutParams;)V") \
      |          ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:540:10: error: ‘setSystemUiVisibility’ was not declared in this scope
  540 |  METHOD (setSystemUiVisibility,     "setSystemUiVisibility",     "(I)V") \
      |          ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:541:10: error: ‘findViewById’ was not declared in this scope
  541 |  METHOD (findViewById,              "findViewById",              "(I)Landroid/view/View;") \
      |          ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:542:10: error: ‘getRootView’ was not declared in this scope
  542 |  METHOD (getRootView,               "getRootView",               "()Landroid/view/View;") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:543:10: error: ‘addOnLayoutChangeListener’ was not declared in this scope
  543 |  METHOD (addOnLayoutChangeListener, "addOnLayoutChangeListener", "(Landroid/view/View$OnLayoutChangeListener;)V")
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:545:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  545 | DECLARE_JNI_CLASS (AndroidView, "android/view/View")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:552:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  552 | DECLARE_JNI_CLASS (AndroidViewGroup, "android/view/ViewGroup")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:549:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  549 |  METHOD (addView,    "addView",    "(Landroid/view/View;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:552:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  552 | DECLARE_JNI_CLASS (AndroidViewGroup, "android/view/ViewGroup")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:550:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  550 |  METHOD (removeView, "removeView", "(Landroid/view/View;)V")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:552:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  552 | DECLARE_JNI_CLASS (AndroidViewGroup, "android/view/ViewGroup")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidViewGroup_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:552:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  552 | DECLARE_JNI_CLASS (AndroidViewGroup, "android/view/ViewGroup")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:552:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  552 | DECLARE_JNI_CLASS (AndroidViewGroup, "android/view/ViewGroup")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:549:10: error: ‘addView’ was not declared in this scope
  549 |  METHOD (addView,    "addView",    "(Landroid/view/View;)V") \
      |          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:552:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  552 | DECLARE_JNI_CLASS (AndroidViewGroup, "android/view/ViewGroup")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:549:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  549 |  METHOD (addView,    "addView",    "(Landroid/view/View;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:552:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  552 | DECLARE_JNI_CLASS (AndroidViewGroup, "android/view/ViewGroup")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:550:10: error: ‘removeView’ was not declared in this scope; did you mean ‘remove’?
  550 |  METHOD (removeView, "removeView", "(Landroid/view/View;)V")
      |          ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:552:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  552 | DECLARE_JNI_CLASS (AndroidViewGroup, "android/view/ViewGroup")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:558:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  558 | DECLARE_JNI_CLASS (AndroidWindowManager, "android/view/WindowManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:556:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  556 |  METHOD (getDefaultDisplay, "getDefaultDisplay", "()Landroid/view/Display;")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:558:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  558 | DECLARE_JNI_CLASS (AndroidWindowManager, "android/view/WindowManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidWindowManager_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:558:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  558 | DECLARE_JNI_CLASS (AndroidWindowManager, "android/view/WindowManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:558:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  558 | DECLARE_JNI_CLASS (AndroidWindowManager, "android/view/WindowManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:556:10: error: ‘getDefaultDisplay’ was not declared in this scope
  556 |  METHOD (getDefaultDisplay, "getDefaultDisplay", "()Landroid/view/Display;")
      |          ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:558:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  558 | DECLARE_JNI_CLASS (AndroidWindowManager, "android/view/WindowManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:556:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  556 |  METHOD (getDefaultDisplay, "getDefaultDisplay", "()Landroid/view/Display;")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:558:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  558 | DECLARE_JNI_CLASS (AndroidWindowManager, "android/view/WindowManager")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:563:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  563 |   METHOD (constructor, "<init>",   "(I)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:564:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  564 |   METHOD (add,         "add",      "(Ljava/lang/Object;)Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:565:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  565 |   METHOD (iterator,    "iterator", "()Ljava/util/Iterator;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:566:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  566 |   METHOD (get,         "get",      "(I)Ljava/lang/Object;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:567:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  567 |   METHOD (size,        "size",     "()I")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaArrayList_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:563:11: error: ‘constructor’ was not declared in this scope
  563 |   METHOD (constructor, "<init>",   "(I)V") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:563:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  563 |   METHOD (constructor, "<init>",   "(I)V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:564:11: error: ‘add’ was not declared in this scope; did you mean ‘fadd’?
  564 |   METHOD (add,         "add",      "(Ljava/lang/Object;)Z") \
      |           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:565:11: error: ‘iterator’ was not declared in this scope; did you mean ‘std::iterator’?
  565 |   METHOD (iterator,    "iterator", "()Ljava/util/Iterator;") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/bits/stl_algobase.h:65,
                 from /usr/include/c++/12/memory:63,
                 from /usr/include/libopenshot-audio/juce_core/system/juce_StandardHeader.h:46:
/usr/include/c++/12/bits/stl_iterator_base_types.h:127:34: note: ‘std::iterator’ declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:566:11: error: ‘get’ was not declared in this scope; did you mean ‘std::get’?
  566 |   METHOD (get,         "get",      "(I)Ljava/lang/Object;") \
      |           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:567:11: error: ‘size’ was not declared in this scope; did you mean ‘std::size’?
  567 |   METHOD (size,        "size",     "()I")
      |           ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:569:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  569 | DECLARE_JNI_CLASS (JavaArrayList, "java/util/ArrayList")
      | ^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:67,
                 from /usr/include/libopenshot-audio/juce_core/system/juce_StandardHeader.h:48:
/usr/include/c++/12/bits/range_access.h:274:5: note: ‘std::size’ declared here
  274 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:576:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  576 | DECLARE_JNI_CLASS (JavaBoolean, "java/lang/Boolean")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:573:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  573 |   STATICMETHOD (valueOf, "valueOf", "(Z)Ljava/lang/Boolean;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:576:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  576 | DECLARE_JNI_CLASS (JavaBoolean, "java/lang/Boolean")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:574:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  574 |   METHOD (booleanValue, "booleanValue", "()Z")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:576:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  576 | DECLARE_JNI_CLASS (JavaBoolean, "java/lang/Boolean")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaBoolean_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:576:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  576 | DECLARE_JNI_CLASS (JavaBoolean, "java/lang/Boolean")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:576:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  576 | DECLARE_JNI_CLASS (JavaBoolean, "java/lang/Boolean")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:573:17: error: ‘valueOf’ was not declared in this scope; did you mean ‘Value’?
  573 |   STATICMETHOD (valueOf, "valueOf", "(Z)Ljava/lang/Boolean;") \
      |                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:576:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  576 | DECLARE_JNI_CLASS (JavaBoolean, "java/lang/Boolean")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:573:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  573 |   STATICMETHOD (valueOf, "valueOf", "(Z)Ljava/lang/Boolean;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:576:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  576 | DECLARE_JNI_CLASS (JavaBoolean, "java/lang/Boolean")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:574:11: error: ‘booleanValue’ was not declared in this scope
  574 |   METHOD (booleanValue, "booleanValue", "()Z")
      |           ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:576:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  576 | DECLARE_JNI_CLASS (JavaBoolean, "java/lang/Boolean")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:574:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  574 |   METHOD (booleanValue, "booleanValue", "()Z")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:576:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  576 | DECLARE_JNI_CLASS (JavaBoolean, "java/lang/Boolean")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:580:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  580 |   METHOD (get,        "get",       "([B)Ljava/nio/ByteBuffer;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:581:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  581 |   METHOD (remaining,  "remaining", "()I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:582:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  582 |   STATICMETHOD (wrap, "wrap",      "([B)Ljava/nio/ByteBuffer;")
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaByteBuffer_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:580:11: error: ‘get’ was not declared in this scope; did you mean ‘std::get’?
  580 |   METHOD (get,        "get",       "([B)Ljava/nio/ByteBuffer;") \
      |           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:580:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  580 |   METHOD (get,        "get",       "([B)Ljava/nio/ByteBuffer;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:581:11: error: ‘remaining’ was not declared in this scope; did you mean ‘remainder’?
  581 |   METHOD (remaining,  "remaining", "()I") \
      |           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:582:17: error: ‘wrap’ was not declared in this scope
  582 |   STATICMETHOD (wrap, "wrap",      "([B)Ljava/nio/ByteBuffer;")
      |                 ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:582:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  582 |   STATICMETHOD (wrap, "wrap",      "([B)Ljava/nio/ByteBuffer;")
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:584:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  584 | DECLARE_JNI_CLASS (JavaByteBuffer, "java/nio/ByteBuffer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:590:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  590 | DECLARE_JNI_CLASS (JavaCharSequence, "java/lang/CharSequence")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:588:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  588 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:590:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  590 | DECLARE_JNI_CLASS (JavaCharSequence, "java/lang/CharSequence")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaCharSequence_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:590:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  590 | DECLARE_JNI_CLASS (JavaCharSequence, "java/lang/CharSequence")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:590:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  590 | DECLARE_JNI_CLASS (JavaCharSequence, "java/lang/CharSequence")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:588:11: error: ‘toString’ was not declared in this scope; did you mean ‘String’?
  588 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:590:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  590 | DECLARE_JNI_CLASS (JavaCharSequence, "java/lang/CharSequence")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:588:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  588 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:590:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  590 | DECLARE_JNI_CLASS (JavaCharSequence, "java/lang/CharSequence")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:594:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  594 |   STATICMETHOD (forName, "forName", "(Ljava/lang/String;)Ljava/lang/Class;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:595:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  595 |   METHOD (getName,           "getName",           "()Ljava/lang/String;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:596:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  596 |   METHOD (getModifiers,      "getModifiers",      "()I")            \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:597:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  597 |   METHOD (isAnnotation,      "isAnnotation",      "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:598:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  598 |   METHOD (isAnonymousClass,  "isAnonymousClass",  "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:599:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  599 |   METHOD (isArray,           "isArray",           "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:600:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  600 |   METHOD (isEnum,            "isEnum",            "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:601:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  601 |   METHOD (isInterface,       "isInterface",       "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:602:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  602 |   METHOD (isLocalClass,      "isLocalClass",      "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:603:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  603 |   METHOD (isMemberClass,     "isMemberClass",     "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:604:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  604 |   METHOD (isPrimitive,       "isPrimitive",       "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:605:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  605 |   METHOD (isSynthetic,       "isSynthetic",       "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:606:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  606 |   METHOD (getComponentType,  "getComponentType",  "()Ljava/lang/Class;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:607:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  607 |   METHOD (getSuperclass,     "getSuperclass",     "()Ljava/lang/Class;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:608:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  608 |   METHOD (getClassLoader,    "getClassLoader",    "()Ljava/lang/ClassLoader;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaClass_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:594:17: error: ‘forName’ was not declared in this scope
  594 |   STATICMETHOD (forName, "forName", "(Ljava/lang/String;)Ljava/lang/Class;") \
      |                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:594:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  594 |   STATICMETHOD (forName, "forName", "(Ljava/lang/String;)Ljava/lang/Class;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:595:11: error: ‘getName’ was not declared in this scope; did you mean ‘getdate’?
  595 |   METHOD (getName,           "getName",           "()Ljava/lang/String;") \
      |           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:595:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  595 |   METHOD (getName,           "getName",           "()Ljava/lang/String;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:596:11: error: ‘getModifiers’ was not declared in this scope
  596 |   METHOD (getModifiers,      "getModifiers",      "()I")            \
      |           ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:597:11: error: ‘isAnnotation’ was not declared in this scope
  597 |   METHOD (isAnnotation,      "isAnnotation",      "()Z") \
      |           ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:598:11: error: ‘isAnonymousClass’ was not declared in this scope
  598 |   METHOD (isAnonymousClass,  "isAnonymousClass",  "()Z") \
      |           ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:599:11: error: ‘isArray’ was not declared in this scope; did you mean ‘Array’?
  599 |   METHOD (isArray,           "isArray",           "()Z") \
      |           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:600:11: error: ‘isEnum’ was not declared in this scope; did you mean ‘isalnum’?
  600 |   METHOD (isEnum,            "isEnum",            "()Z") \
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:601:11: error: ‘isInterface’ was not declared in this scope
  601 |   METHOD (isInterface,       "isInterface",       "()Z") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:602:11: error: ‘isLocalClass’ was not declared in this scope
  602 |   METHOD (isLocalClass,      "isLocalClass",      "()Z") \
      |           ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:603:11: error: ‘isMemberClass’ was not declared in this scope
  603 |   METHOD (isMemberClass,     "isMemberClass",     "()Z") \
      |           ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:604:11: error: ‘isPrimitive’ was not declared in this scope
  604 |   METHOD (isPrimitive,       "isPrimitive",       "()Z") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:605:11: error: ‘isSynthetic’ was not declared in this scope
  605 |   METHOD (isSynthetic,       "isSynthetic",       "()Z") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:606:11: error: ‘getComponentType’ was not declared in this scope
  606 |   METHOD (getComponentType,  "getComponentType",  "()Ljava/lang/Class;") \
      |           ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:607:11: error: ‘getSuperclass’ was not declared in this scope
  607 |   METHOD (getSuperclass,     "getSuperclass",     "()Ljava/lang/Class;") \
      |           ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:608:11: error: ‘getClassLoader’ was not declared in this scope; did you mean ‘getClassPath’?
  608 |   METHOD (getClassLoader,    "getClassLoader",    "()Ljava/lang/ClassLoader;") \
      |           ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:610:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  610 | DECLARE_JNI_CLASS (JavaClass, "java/lang/Class")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:616:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  616 | DECLARE_JNI_CLASS (JavaEnum, "java/lang/Enum")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:614:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  614 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:616:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  616 | DECLARE_JNI_CLASS (JavaEnum, "java/lang/Enum")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaEnum_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:616:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  616 | DECLARE_JNI_CLASS (JavaEnum, "java/lang/Enum")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:616:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  616 | DECLARE_JNI_CLASS (JavaEnum, "java/lang/Enum")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:614:11: error: ‘toString’ was not declared in this scope; did you mean ‘String’?
  614 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:616:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  616 | DECLARE_JNI_CLASS (JavaEnum, "java/lang/Enum")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:614:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  614 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:616:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  616 | DECLARE_JNI_CLASS (JavaEnum, "java/lang/Enum")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:624:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  624 | DECLARE_JNI_CLASS (JavaFile, "java/io/File")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:620:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  620 |  METHOD (constructor,     "<init>",          "(Ljava/lang/String;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:624:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  624 | DECLARE_JNI_CLASS (JavaFile, "java/io/File")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:621:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  621 |  METHOD (getAbsolutePath, "getAbsolutePath", "()Ljava/lang/String;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:624:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  624 | DECLARE_JNI_CLASS (JavaFile, "java/io/File")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:622:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  622 |  METHOD (length,          "length",          "()J")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:624:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  624 | DECLARE_JNI_CLASS (JavaFile, "java/io/File")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaFile_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:624:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  624 | DECLARE_JNI_CLASS (JavaFile, "java/io/File")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:624:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  624 | DECLARE_JNI_CLASS (JavaFile, "java/io/File")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:620:10: error: ‘constructor’ was not declared in this scope
  620 |  METHOD (constructor,     "<init>",          "(Ljava/lang/String;)V") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:624:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  624 | DECLARE_JNI_CLASS (JavaFile, "java/io/File")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:620:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  620 |  METHOD (constructor,     "<init>",          "(Ljava/lang/String;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:624:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  624 | DECLARE_JNI_CLASS (JavaFile, "java/io/File")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:621:10: error: ‘getAbsolutePath’ was not declared in this scope
  621 |  METHOD (getAbsolutePath, "getAbsolutePath", "()Ljava/lang/String;") \
      |          ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:624:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  624 | DECLARE_JNI_CLASS (JavaFile, "java/io/File")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:622:10: error: ‘length’ was not declared in this scope
  622 |  METHOD (length,          "length",          "()J")
      |          ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:624:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  624 | DECLARE_JNI_CLASS (JavaFile, "java/io/File")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:632:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  632 | DECLARE_JNI_CLASS (JavaFileInputStream, "java/io/FileInputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:628:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  628 |  METHOD (constructor, "<init>", "(Ljava/lang/String;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:632:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  632 | DECLARE_JNI_CLASS (JavaFileInputStream, "java/io/FileInputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:629:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  629 |  METHOD (close,       "close",  "()V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:632:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  632 | DECLARE_JNI_CLASS (JavaFileInputStream, "java/io/FileInputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:630:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  630 |  METHOD (read,        "read",   "([B)I")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:632:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  632 | DECLARE_JNI_CLASS (JavaFileInputStream, "java/io/FileInputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaFileInputStream_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:632:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  632 | DECLARE_JNI_CLASS (JavaFileInputStream, "java/io/FileInputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:632:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  632 | DECLARE_JNI_CLASS (JavaFileInputStream, "java/io/FileInputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:628:10: error: ‘constructor’ was not declared in this scope
  628 |  METHOD (constructor, "<init>", "(Ljava/lang/String;)V") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:632:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  632 | DECLARE_JNI_CLASS (JavaFileInputStream, "java/io/FileInputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:628:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  628 |  METHOD (constructor, "<init>", "(Ljava/lang/String;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:632:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  632 | DECLARE_JNI_CLASS (JavaFileInputStream, "java/io/FileInputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:640:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  640 | DECLARE_JNI_CLASS (JavaFileOutputStream, "java/io/FileOutputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:636:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  636 |  METHOD (constructor, "<init>", "(Ljava/lang/String;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:640:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  640 | DECLARE_JNI_CLASS (JavaFileOutputStream, "java/io/FileOutputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:637:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  637 |  METHOD (close,       "close",  "()V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:640:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  640 | DECLARE_JNI_CLASS (JavaFileOutputStream, "java/io/FileOutputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:638:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  638 |  METHOD (write,       "write",  "([BII)V")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:640:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  640 | DECLARE_JNI_CLASS (JavaFileOutputStream, "java/io/FileOutputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaFileOutputStream_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:640:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  640 | DECLARE_JNI_CLASS (JavaFileOutputStream, "java/io/FileOutputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:640:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  640 | DECLARE_JNI_CLASS (JavaFileOutputStream, "java/io/FileOutputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:636:10: error: ‘constructor’ was not declared in this scope
  636 |  METHOD (constructor, "<init>", "(Ljava/lang/String;)V") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:640:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  640 | DECLARE_JNI_CLASS (JavaFileOutputStream, "java/io/FileOutputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:636:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  636 |  METHOD (constructor, "<init>", "(Ljava/lang/String;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:640:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  640 | DECLARE_JNI_CLASS (JavaFileOutputStream, "java/io/FileOutputStream")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:647:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  647 | DECLARE_JNI_CLASS (JavaHashMap, "java/util/HashMap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:644:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  644 |   METHOD (constructor,             "<init>", "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:647:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  647 | DECLARE_JNI_CLASS (JavaHashMap, "java/util/HashMap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:645:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  645 |   METHOD (constructorWithCapacity, "<init>", "(I)V")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:647:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  647 | DECLARE_JNI_CLASS (JavaHashMap, "java/util/HashMap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaHashMap_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:647:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  647 | DECLARE_JNI_CLASS (JavaHashMap, "java/util/HashMap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:647:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  647 | DECLARE_JNI_CLASS (JavaHashMap, "java/util/HashMap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:644:11: error: ‘constructor’ was not declared in this scope
  644 |   METHOD (constructor,             "<init>", "()V") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:647:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  647 | DECLARE_JNI_CLASS (JavaHashMap, "java/util/HashMap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:644:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  644 |   METHOD (constructor,             "<init>", "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:647:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  647 | DECLARE_JNI_CLASS (JavaHashMap, "java/util/HashMap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:645:11: error: ‘constructorWithCapacity’ was not declared in this scope
  645 |   METHOD (constructorWithCapacity, "<init>", "(I)V")
      |           ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:647:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  647 | DECLARE_JNI_CLASS (JavaHashMap, "java/util/HashMap")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:651:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  651 |   STATICMETHOD (parseInt, "parseInt", "(Ljava/lang/String;I)I") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:652:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  652 |   STATICMETHOD (valueOf,  "valueOf",  "(I)Ljava/lang/Integer;") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:653:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  653 |   METHOD (intValue, "intValue", "()I")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaInteger_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:651:17: error: ‘parseInt’ was not declared in this scope
  651 |   STATICMETHOD (parseInt, "parseInt", "(Ljava/lang/String;I)I") \
      |                 ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:77: error: ‘resolveStaticMethod’ was not declared in this scope
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:651:3: note: in expansion of macro ‘CREATE_JNI_STATICMETHOD’
  651 |   STATICMETHOD (parseInt, "parseInt", "(Ljava/lang/String;I)I") \
      |   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:652:17: error: ‘valueOf’ was not declared in this scope; did you mean ‘Value’?
  652 |   STATICMETHOD (valueOf,  "valueOf",  "(I)Ljava/lang/Integer;") \
      |                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:208:66: note: in definition of macro ‘CREATE_JNI_STATICMETHOD’
  208 | #define CREATE_JNI_STATICMETHOD(methodID, stringName, params)    methodID = resolveStaticMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:653:11: error: ‘intValue’ was not declared in this scope; did you mean ‘Value’?
  653 |   METHOD (intValue, "intValue", "()I")
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:653:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  653 |   METHOD (intValue, "intValue", "()I")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:655:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  655 | DECLARE_JNI_CLASS (JavaInteger, "java/lang/Integer")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:662:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  662 | DECLARE_JNI_CLASS (JavaIterator, "java/util/Iterator")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:659:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  659 |   METHOD (hasNext, "hasNext", "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:662:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  662 | DECLARE_JNI_CLASS (JavaIterator, "java/util/Iterator")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:660:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  660 |   METHOD (next,    "next",    "()Ljava/lang/Object;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:662:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  662 | DECLARE_JNI_CLASS (JavaIterator, "java/util/Iterator")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaIterator_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:662:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  662 | DECLARE_JNI_CLASS (JavaIterator, "java/util/Iterator")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:662:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  662 | DECLARE_JNI_CLASS (JavaIterator, "java/util/Iterator")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:659:11: error: ‘hasNext’ was not declared in this scope
  659 |   METHOD (hasNext, "hasNext", "()Z") \
      |           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:662:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  662 | DECLARE_JNI_CLASS (JavaIterator, "java/util/Iterator")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:659:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  659 |   METHOD (hasNext, "hasNext", "()Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:662:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  662 | DECLARE_JNI_CLASS (JavaIterator, "java/util/Iterator")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:660:11: error: ‘next’ was not declared in this scope; did you mean ‘std::next’?
  660 |   METHOD (next,    "next",    "()Ljava/lang/Object;")
      |           ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:662:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  662 | DECLARE_JNI_CLASS (JavaIterator, "java/util/Iterator")
      | ^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/bits/stl_algobase.h:66:
/usr/include/c++/12/bits/stl_iterator_base_funcs.h:230:5: note: ‘std::next’ declared here
  230 |     next(_InputIterator __x, typename
      |     ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:669:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  669 | DECLARE_JNI_CLASS (JavaList, "java/util/List")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:666:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  666 |   METHOD (get,  "get",  "(I)Ljava/lang/Object;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:669:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  669 | DECLARE_JNI_CLASS (JavaList, "java/util/List")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:667:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  667 |   METHOD (size, "size", "()I")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:669:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  669 | DECLARE_JNI_CLASS (JavaList, "java/util/List")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaList_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:669:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  669 | DECLARE_JNI_CLASS (JavaList, "java/util/List")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:669:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  669 | DECLARE_JNI_CLASS (JavaList, "java/util/List")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:666:11: error: ‘get’ was not declared in this scope; did you mean ‘std::get’?
  666 |   METHOD (get,  "get",  "(I)Ljava/lang/Object;") \
      |           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:669:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  669 | DECLARE_JNI_CLASS (JavaList, "java/util/List")
      | ^~~~~~~~~~~~~~~~~
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:666:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  666 |   METHOD (get,  "get",  "(I)Ljava/lang/Object;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:669:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  669 | DECLARE_JNI_CLASS (JavaList, "java/util/List")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:667:11: error: ‘size’ was not declared in this scope; did you mean ‘std::size’?
  667 |   METHOD (size, "size", "()I")
      |           ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:669:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  669 | DECLARE_JNI_CLASS (JavaList, "java/util/List")
      | ^~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/range_access.h:274:5: note: ‘std::size’ declared here
  274 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:675:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  675 | DECLARE_JNI_CLASS (JavaLong, "java/lang/Long")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:673:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  673 |   METHOD (constructor, "<init>", "(J)V")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:675:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  675 | DECLARE_JNI_CLASS (JavaLong, "java/lang/Long")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaLong_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:675:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  675 | DECLARE_JNI_CLASS (JavaLong, "java/lang/Long")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:675:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  675 | DECLARE_JNI_CLASS (JavaLong, "java/lang/Long")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:673:11: error: ‘constructor’ was not declared in this scope
  673 |   METHOD (constructor, "<init>", "(J)V")
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:675:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  675 | DECLARE_JNI_CLASS (JavaLong, "java/lang/Long")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:673:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  673 |   METHOD (constructor, "<init>", "(J)V")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:675:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  675 | DECLARE_JNI_CLASS (JavaLong, "java/lang/Long")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:683:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  683 | DECLARE_JNI_CLASS (JavaMap, "java/util/Map")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:679:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  679 |   METHOD (get,    "get",    "(Ljava/lang/Object;)Ljava/lang/Object;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:683:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  683 | DECLARE_JNI_CLASS (JavaMap, "java/util/Map")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:680:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  680 |   METHOD (keySet, "keySet", "()Ljava/util/Set;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:683:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  683 | DECLARE_JNI_CLASS (JavaMap, "java/util/Map")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:681:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  681 |   METHOD (put,    "put",    "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:683:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  683 | DECLARE_JNI_CLASS (JavaMap, "java/util/Map")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaMap_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:683:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  683 | DECLARE_JNI_CLASS (JavaMap, "java/util/Map")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:683:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  683 | DECLARE_JNI_CLASS (JavaMap, "java/util/Map")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:679:11: error: ‘get’ was not declared in this scope; did you mean ‘std::get’?
  679 |   METHOD (get,    "get",    "(Ljava/lang/Object;)Ljava/lang/Object;") \
      |           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:683:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  683 | DECLARE_JNI_CLASS (JavaMap, "java/util/Map")
      | ^~~~~~~~~~~~~~~~~
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:679:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  679 |   METHOD (get,    "get",    "(Ljava/lang/Object;)Ljava/lang/Object;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:683:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  683 | DECLARE_JNI_CLASS (JavaMap, "java/util/Map")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:680:11: error: ‘keySet’ was not declared in this scope; did you mean ‘key_t’?
  680 |   METHOD (keySet, "keySet", "()Ljava/util/Set;") \
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:683:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  683 | DECLARE_JNI_CLASS (JavaMap, "java/util/Map")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:681:11: error: ‘put’ was not declared in this scope; did you mean ‘putw’?
  681 |   METHOD (put,    "put",    "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;")
      |           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:683:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  683 | DECLARE_JNI_CLASS (JavaMap, "java/util/Map")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:687:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  687 |   METHOD (getName,           "getName",           "()Ljava/lang/String;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:688:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  688 |   METHOD (getModifiers,      "getModifiers",      "()I")            \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:689:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  689 |   METHOD (getParameterTypes, "getParameterTypes", "()[Ljava/lang/Class;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:690:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  690 |   METHOD (getReturnType,     "getReturnType",     "()Ljava/lang/Class;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:691:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  691 |   METHOD (invoke,            "invoke",            "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:692:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  692 |   METHOD (hashCode,          "hashCode",          "()I") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:693:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  693 |   METHOD (equals,            "equals",            "(Ljava/lang/Object;)Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaMethod_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:687:11: error: ‘getName’ was not declared in this scope; did you mean ‘getdate’?
  687 |   METHOD (getName,           "getName",           "()Ljava/lang/String;") \
      |           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:687:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  687 |   METHOD (getName,           "getName",           "()Ljava/lang/String;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:688:11: error: ‘getModifiers’ was not declared in this scope
  688 |   METHOD (getModifiers,      "getModifiers",      "()I")            \
      |           ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:689:11: error: ‘getParameterTypes’ was not declared in this scope
  689 |   METHOD (getParameterTypes, "getParameterTypes", "()[Ljava/lang/Class;") \
      |           ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:690:11: error: ‘getReturnType’ was not declared in this scope
  690 |   METHOD (getReturnType,     "getReturnType",     "()Ljava/lang/Class;") \
      |           ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:691:11: error: ‘invoke’ was not declared in this scope; did you mean ‘std::invoke’?
  691 |   METHOD (invoke,            "invoke",            "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;") \
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/c++/12/functional:107:5: note: ‘std::invoke’ declared here
  107 |     invoke(_Callable&& __fn, _Args&&... __args)
      |     ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:692:11: error: ‘hashCode’ was not declared in this scope
  692 |   METHOD (hashCode,          "hashCode",          "()I") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:693:11: error: ‘equals’ was not declared in this scope
  693 |   METHOD (equals,            "equals",            "(Ljava/lang/Object;)Z") \
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:695:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  695 | DECLARE_JNI_CLASS (JavaMethod, "java/lang/reflect/Method")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:704:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  704 | DECLARE_JNI_CLASS (JavaObject, "java/lang/Object")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:700:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  700 |   METHOD (constructor, "<init>", "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:704:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  704 | DECLARE_JNI_CLASS (JavaObject, "java/lang/Object")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:701:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  701 |   METHOD (getClass, "getClass", "()Ljava/lang/Class;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:704:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  704 | DECLARE_JNI_CLASS (JavaObject, "java/lang/Object")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:702:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  702 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:704:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  704 | DECLARE_JNI_CLASS (JavaObject, "java/lang/Object")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaObject_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:704:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  704 | DECLARE_JNI_CLASS (JavaObject, "java/lang/Object")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:704:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  704 | DECLARE_JNI_CLASS (JavaObject, "java/lang/Object")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:700:11: error: ‘constructor’ was not declared in this scope
  700 |   METHOD (constructor, "<init>", "()V") \
      |           ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:704:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  704 | DECLARE_JNI_CLASS (JavaObject, "java/lang/Object")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:700:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  700 |   METHOD (constructor, "<init>", "()V") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:704:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  704 | DECLARE_JNI_CLASS (JavaObject, "java/lang/Object")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:701:11: error: ‘getClass’ was not declared in this scope; did you mean ‘getClasses’?
  701 |   METHOD (getClass, "getClass", "()Ljava/lang/Class;") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:704:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  704 | DECLARE_JNI_CLASS (JavaObject, "java/lang/Object")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:702:11: error: ‘toString’ was not declared in this scope; did you mean ‘String’?
  702 |   METHOD (toString, "toString", "()Ljava/lang/String;")
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:704:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  704 | DECLARE_JNI_CLASS (JavaObject, "java/lang/Object")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:712:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  712 | DECLARE_JNI_CLASS (JavaSet, "java/util/Set")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:708:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  708 |   METHOD (contains, "contains", "(Ljava/lang/Object;)Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:712:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  712 | DECLARE_JNI_CLASS (JavaSet, "java/util/Set")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:709:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  709 |   METHOD (iterator, "iterator", "()Ljava/util/Iterator;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:712:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  712 | DECLARE_JNI_CLASS (JavaSet, "java/util/Set")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:710:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  710 |   METHOD (size,     "size",     "()I")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:712:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  712 | DECLARE_JNI_CLASS (JavaSet, "java/util/Set")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaSet_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:712:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  712 | DECLARE_JNI_CLASS (JavaSet, "java/util/Set")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:712:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  712 | DECLARE_JNI_CLASS (JavaSet, "java/util/Set")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:708:11: error: ‘contains’ was not declared in this scope
  708 |   METHOD (contains, "contains", "(Ljava/lang/Object;)Z") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:712:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  712 | DECLARE_JNI_CLASS (JavaSet, "java/util/Set")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:708:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  708 |   METHOD (contains, "contains", "(Ljava/lang/Object;)Z") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:712:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  712 | DECLARE_JNI_CLASS (JavaSet, "java/util/Set")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:709:11: error: ‘iterator’ was not declared in this scope; did you mean ‘std::iterator’?
  709 |   METHOD (iterator, "iterator", "()Ljava/util/Iterator;") \
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:712:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  712 | DECLARE_JNI_CLASS (JavaSet, "java/util/Set")
      | ^~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_iterator_base_types.h:127:34: note: ‘std::iterator’ declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:710:11: error: ‘size’ was not declared in this scope; did you mean ‘std::size’?
  710 |   METHOD (size,     "size",     "()I")
      |           ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:712:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  712 | DECLARE_JNI_CLASS (JavaSet, "java/util/Set")
      | ^~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/range_access.h:274:5: note: ‘std::size’ declared here
  274 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:719:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  719 | DECLARE_JNI_CLASS (JavaString, "java/lang/String")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:716:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  716 |   METHOD (concat,   "concat",   "(Ljava/lang/String;)Ljava/lang/String;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:719:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  719 | DECLARE_JNI_CLASS (JavaString, "java/lang/String")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:717:3: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  717 |   METHOD (getBytes, "getBytes", "()[B")
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:719:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  719 | DECLARE_JNI_CLASS (JavaString, "java/lang/String")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::JavaString_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:719:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  719 | DECLARE_JNI_CLASS (JavaString, "java/lang/String")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:719:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  719 | DECLARE_JNI_CLASS (JavaString, "java/lang/String")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:716:11: error: ‘concat’ was not declared in this scope; did you mean ‘wcsncat’?
  716 |   METHOD (concat,   "concat",   "(Ljava/lang/String;)Ljava/lang/String;") \
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:719:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  719 | DECLARE_JNI_CLASS (JavaString, "java/lang/String")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:716:3: note: in expansion of macro ‘CREATE_JNI_METHOD’
  716 |   METHOD (concat,   "concat",   "(Ljava/lang/String;)Ljava/lang/String;") \
      |   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:719:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  719 | DECLARE_JNI_CLASS (JavaString, "java/lang/String")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:717:11: error: ‘getBytes’ was not declared in this scope
  717 |   METHOD (getBytes, "getBytes", "()[B")
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:719:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  719 | DECLARE_JNI_CLASS (JavaString, "java/lang/String")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:723:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  723 | DECLARE_JNI_CLASS (AndroidBuild, "android/os/Build")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidBuild_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:723:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  723 | DECLARE_JNI_CLASS (AndroidBuild, "android/os/Build")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:723:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  723 | DECLARE_JNI_CLASS (AndroidBuild, "android/os/Build")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:727:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  727 | DECLARE_JNI_CLASS (AndroidBuildVersion, "android/os/Build$VERSION")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidBuildVersion_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:727:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  727 | DECLARE_JNI_CLASS (AndroidBuildVersion, "android/os/Build$VERSION")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:727:1: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  727 | DECLARE_JNI_CLASS (AndroidBuildVersion, "android/os/Build$VERSION")
      | ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:734:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  734 |  DECLARE_JNI_CLASS (AndroidApplication, "android/app/Application")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:731:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  731 |  METHOD (registerActivityLifecycleCallbacks,   "registerActivityLifecycleCallbacks",   "(Landroid/app/Application$ActivityLifecycleCallbacks;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:734:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  734 |  DECLARE_JNI_CLASS (AndroidApplication, "android/app/Application")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:732:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  732 |  METHOD (unregisterActivityLifecycleCallbacks, "unregisterActivityLifecycleCallbacks", "(Landroid/app/Application$ActivityLifecycleCallbacks;)V")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:734:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  734 |  DECLARE_JNI_CLASS (AndroidApplication, "android/app/Application")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidApplication_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:734:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  734 |  DECLARE_JNI_CLASS (AndroidApplication, "android/app/Application")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:734:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  734 |  DECLARE_JNI_CLASS (AndroidApplication, "android/app/Application")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:731:10: error: ‘registerActivityLifecycleCallbacks’ was not declared in this scope
  731 |  METHOD (registerActivityLifecycleCallbacks,   "registerActivityLifecycleCallbacks",   "(Landroid/app/Application$ActivityLifecycleCallbacks;)V") \
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:734:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  734 |  DECLARE_JNI_CLASS (AndroidApplication, "android/app/Application")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:731:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  731 |  METHOD (registerActivityLifecycleCallbacks,   "registerActivityLifecycleCallbacks",   "(Landroid/app/Application$ActivityLifecycleCallbacks;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:734:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  734 |  DECLARE_JNI_CLASS (AndroidApplication, "android/app/Application")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:732:10: error: ‘unregisterActivityLifecycleCallbacks’ was not declared in this scope
  732 |  METHOD (unregisterActivityLifecycleCallbacks, "unregisterActivityLifecycleCallbacks", "(Landroid/app/Application$ActivityLifecycleCallbacks;)V")
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:734:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  734 |  DECLARE_JNI_CLASS (AndroidApplication, "android/app/Application")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:742:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  742 |  DECLARE_JNI_CLASS (AndroidSurfaceView, "android/view/SurfaceView")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:738:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  738 |  METHOD (constructor,     "<init>",          "(Landroid/content/Context;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:742:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  742 |  DECLARE_JNI_CLASS (AndroidSurfaceView, "android/view/SurfaceView")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:739:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  739 |  METHOD (getHolder,       "getHolder",       "()Landroid/view/SurfaceHolder;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:742:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  742 |  DECLARE_JNI_CLASS (AndroidSurfaceView, "android/view/SurfaceView")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:740:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  740 |  METHOD (getParent,       "getParent",       "()Landroid/view/ViewParent;")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:742:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  742 |  DECLARE_JNI_CLASS (AndroidSurfaceView, "android/view/SurfaceView")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidSurfaceView_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:742:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  742 |  DECLARE_JNI_CLASS (AndroidSurfaceView, "android/view/SurfaceView")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:742:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  742 |  DECLARE_JNI_CLASS (AndroidSurfaceView, "android/view/SurfaceView")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:738:10: error: ‘constructor’ was not declared in this scope
  738 |  METHOD (constructor,     "<init>",          "(Landroid/content/Context;)V") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:742:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  742 |  DECLARE_JNI_CLASS (AndroidSurfaceView, "android/view/SurfaceView")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:738:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  738 |  METHOD (constructor,     "<init>",          "(Landroid/content/Context;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:742:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  742 |  DECLARE_JNI_CLASS (AndroidSurfaceView, "android/view/SurfaceView")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:739:10: error: ‘getHolder’ was not declared in this scope
  739 |  METHOD (getHolder,       "getHolder",       "()Landroid/view/SurfaceHolder;") \
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:742:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  742 |  DECLARE_JNI_CLASS (AndroidSurfaceView, "android/view/SurfaceView")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:740:10: error: ‘getParent’ was not declared in this scope; did you mean ‘getpwent’?
  740 |  METHOD (getParent,       "getParent",       "()Landroid/view/ViewParent;")
      |          ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:742:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  742 |  DECLARE_JNI_CLASS (AndroidSurfaceView, "android/view/SurfaceView")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:222:32: error: ‘JNIEnv’ has not been declared
  222 |         void initialiseFields (JNIEnv* env) \
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:751:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  751 |  DECLARE_JNI_CLASS (AndroidSurfaceHolder, "android/view/SurfaceHolder")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:747:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  747 |  METHOD (getSurface,     "getSurface",     "()Landroid/view/Surface;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:751:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  751 |  DECLARE_JNI_CLASS (AndroidSurfaceHolder, "android/view/SurfaceHolder")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:748:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  748 |  METHOD (addCallback,    "addCallback",    "(Landroid/view/SurfaceHolder$Callback;)V") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:751:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  751 |  DECLARE_JNI_CLASS (AndroidSurfaceHolder, "android/view/SurfaceHolder")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:212:66: error: ‘jmethodID’ does not name a type
  212 | #define DECLARE_JNI_METHOD(methodID, stringName, params)         jmethodID methodID;
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:749:2: note: in expansion of macro ‘DECLARE_JNI_METHOD’
  749 |  METHOD (removeCallback, "removeCallback", "(Landroid/view/SurfaceHolder$Callback;)V")
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:229:9: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  229 |         JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD, DECLARE_JNI_CALLBACK) \
      |         ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:751:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  751 |  DECLARE_JNI_CLASS (AndroidSurfaceHolder, "android/view/SurfaceHolder")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In member function ‘virtual void juce::AndroidSurfaceHolder_Class::initialiseFields(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:19: error: ‘JNINativeMethod’ was not declared in this scope
  224 |             Array<JNINativeMethod> callbacks; \
      |                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:751:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  751 |  DECLARE_JNI_CLASS (AndroidSurfaceHolder, "android/view/SurfaceHolder")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:224:34: error: template argument 1 is invalid
  224 |             Array<JNINativeMethod> callbacks; \
      |                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:751:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  751 |  DECLARE_JNI_CLASS (AndroidSurfaceHolder, "android/view/SurfaceHolder")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:747:10: error: ‘getSurface’ was not declared in this scope
  747 |  METHOD (getSurface,     "getSurface",     "()Landroid/view/Surface;") \
      |          ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:751:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  751 |  DECLARE_JNI_CLASS (AndroidSurfaceHolder, "android/view/SurfaceHolder")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:77: error: ‘resolveMethod’ was not declared in this scope
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                             ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:747:2: note: in expansion of macro ‘CREATE_JNI_METHOD’
  747 |  METHOD (getSurface,     "getSurface",     "()Landroid/view/Surface;") \
      |  ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:751:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  751 |  DECLARE_JNI_CLASS (AndroidSurfaceHolder, "android/view/SurfaceHolder")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:748:10: error: ‘addCallback’ was not declared in this scope
  748 |  METHOD (addCallback,    "addCallback",    "(Landroid/view/SurfaceHolder$Callback;)V") \
      |          ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:751:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  751 |  DECLARE_JNI_CLASS (AndroidSurfaceHolder, "android/view/SurfaceHolder")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:749:10: error: ‘removeCallback’ was not declared in this scope; did you mean ‘resolveCallbacks’?
  749 |  METHOD (removeCallback, "removeCallback", "(Landroid/view/SurfaceHolder$Callback;)V")
      |          ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:207:66: note: in definition of macro ‘CREATE_JNI_METHOD’
  207 | #define CREATE_JNI_METHOD(methodID, stringName, params)          methodID = resolveMethod (env, stringName, params);
      |                                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:225:13: note: in expansion of macro ‘JNI_CLASS_MEMBERS’
  225 |             JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD, CREATE_JNI_CALLBACK); \
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:235:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_BYTECODE’
  235 |     DECLARE_JNI_CLASS_WITH_BYTECODE (CppClassName, javaPath, minSDK, nullptr, 0)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:239:5: note: in expansion of macro ‘DECLARE_JNI_CLASS_WITH_MIN_SDK’
  239 |     DECLARE_JNI_CLASS_WITH_MIN_SDK (CppClassName, javaPath, 16)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:751:2: note: in expansion of macro ‘DECLARE_JNI_CLASS’
  751 |  DECLARE_JNI_CLASS (AndroidSurfaceHolder, "android/view/SurfaceHolder")
      |  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:757:31: error: ‘JNIEnv’ was not declared in this scope
  757 |     inline String juceString (JNIEnv* env, jstring s)
      |                               ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:757:39: error: ‘env’ was not declared in this scope
  757 |     inline String juceString (JNIEnv* env, jstring s)
      |                                       ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:757:44: error: ‘jstring’ was not declared in this scope; did you mean ‘String’?
  757 |     inline String juceString (JNIEnv* env, jstring s)
      |                                            ^~~~~~~
      |                                            String
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:758:5: error: expected ‘,’ or ‘;’ before ‘{’ token
  758 |     {
      |     ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:769:19: error: redefinition of ‘juce::String juce::{anonymous}::juceString’
  769 |     inline String juceString (jstring s)
      |                   ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:757:19: note: ‘juce::String juce::{anonymous}::juceString’ previously declared here
  757 |     inline String juceString (JNIEnv* env, jstring s)
      |                   ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:769:31: error: ‘jstring’ was not declared in this scope; did you mean ‘String’?
  769 |     inline String juceString (jstring s)
      |                               ^~~~~~~
      |                               String
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:774:21: error: ‘jstring’ was not declared in this scope; did you mean ‘String’?
  774 |     inline LocalRef<jstring> javaString (const String& s)
      |                     ^~~~~~~
      |                     String
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:774:28: error: template argument 1 is invalid
  774 |     inline LocalRef<jstring> javaString (const String& s)
      |                            ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In function ‘int juce::{anonymous}::javaString(const juce::String&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:776:25: error: ‘jstring’ was not declared in this scope; did you mean ‘String’?
  776 |         return LocalRef<jstring> (getEnv()->NewStringUTF (s.toUTF8()));
      |                         ^~~~~~~
      |                         String
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:776:32: error: template argument 1 is invalid
  776 |         return LocalRef<jstring> (getEnv()->NewStringUTF (s.toUTF8()));
      |                                ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:776:35: error: ‘getEnv’ was not declared in this scope; did you mean ‘getenv’?
  776 |         return LocalRef<jstring> (getEnv()->NewStringUTF (s.toUTF8()));
      |                                   ^~~~~~
      |                                   getenv
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:779:21: error: ‘jstring’ was not declared in this scope; did you mean ‘String’?
  779 |     inline LocalRef<jstring> javaStringFromChar (const juce_wchar c)
      |                     ^~~~~~~
      |                     String
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:779:28: error: template argument 1 is invalid
  779 |     inline LocalRef<jstring> javaStringFromChar (const juce_wchar c)
      |                            ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In function ‘int juce::{anonymous}::javaStringFromChar(juce::juce_wchar)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:783:25: error: ‘jstring’ was not declared in this scope; did you mean ‘String’?
  783 |         return LocalRef<jstring> (getEnv()->NewStringUTF (utf8));
      |                         ^~~~~~~
      |                         String
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:783:32: error: template argument 1 is invalid
  783 |         return LocalRef<jstring> (getEnv()->NewStringUTF (utf8));
      |                                ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:783:35: error: ‘getEnv’ was not declared in this scope; did you mean ‘getenv’?
  783 |         return LocalRef<jstring> (getEnv()->NewStringUTF (utf8));
      |                                   ^~~~~~
      |                                   getenv
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:786:21: error: ‘jobjectArray’ was not declared in this scope
  786 |     inline LocalRef<jobjectArray> juceStringArrayToJava (const StringArray& juceArray)
      |                     ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:786:33: error: template argument 1 is invalid
  786 |     inline LocalRef<jobjectArray> juceStringArrayToJava (const StringArray& juceArray)
      |                                 ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In function ‘int juce::{anonymous}::juceStringArrayToJava(const juce::StringArray&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:788:21: error: ‘getEnv’ was not declared in this scope; did you mean ‘getenv’?
  788 |         auto* env = getEnv();
      |                     ^~~~~~
      |                     getenv
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:790:18: error: ‘jobjectArray’ was not declared in this scope
  790 |         LocalRef<jobjectArray> result (env->NewObjectArray ((jsize) juceArray.size(),
      |                  ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:790:30: error: template argument 1 is invalid
  790 |         LocalRef<jobjectArray> result (env->NewObjectArray ((jsize) juceArray.size(),
      |                              ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:790:62: error: ‘jsize’ was not declared in this scope; did you mean ‘dysize’?
  790 |         LocalRef<jobjectArray> result (env->NewObjectArray ((jsize) juceArray.size(),
      |                                                              ^~~~~
      |                                                              dysize
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:792:77: error: request for member ‘get’ in ‘juce::{anonymous}::javaString(juce::String(((const char*)"")))’, which is of non-class type ‘int’
  792 |                                                             javaString ("").get()));
      |                                                                             ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:795:79: error: request for member ‘get’ in ‘juce::{anonymous}::javaString((* &(& juceArray)->juce::StringArray::operator[](i)))’, which is of non-class type ‘int’
  795 |             env->SetObjectArrayElement (result, i, javaString (juceArray [i]).get());
      |                                                                               ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:800:62: error: ‘jobjectArray’ was not declared in this scope
  800 |     inline StringArray javaStringArrayToJuce (const LocalRef<jobjectArray>& javaArray)
      |                                                              ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:800:74: error: template argument 1 is invalid
  800 |     inline StringArray javaStringArrayToJuce (const LocalRef<jobjectArray>& javaArray)
      |                                                                          ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In function ‘juce::StringArray juce::{anonymous}::javaStringArrayToJuce(const int&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:802:23: error: request for member ‘get’ in ‘javaArray’, which is of non-class type ‘const int’
  802 |         if (javaArray.get() == nullptr)
      |                       ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:805:21: error: ‘getEnv’ was not declared in this scope; did you mean ‘getenv’?
  805 |         auto* env = getEnv();
      |                     ^~~~~~
      |                     getenv
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:809:60: error: request for member ‘get’ in ‘javaArray’, which is of non-class type ‘const int’
  809 |         for (int i = 0; i < env->GetArrayLength (javaArray.get()); ++i)
      |                                                            ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:811:22: error: ‘jstring’ was not declared in this scope; did you mean ‘String’?
  811 |             LocalRef<jstring> javaString ((jstring) env->GetObjectArrayElement (javaArray.get(), i));
      |                      ^~~~~~~
      |                      String
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:811:29: error: template argument 1 is invalid
  811 |             LocalRef<jstring> javaString ((jstring) env->GetObjectArrayElement (javaArray.get(), i));
      |                             ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:811:52: error: expected ‘)’ before ‘env’
  811 |             LocalRef<jstring> javaString ((jstring) env->GetObjectArrayElement (javaArray.get(), i));
      |                                          ~         ^~~~
      |                                                    )
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:812:48: error: request for member ‘get’ in ‘javaString’, which is of non-class type ‘int’
  812 |             result.add (juceString (javaString.get()));
      |                                                ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: In function ‘bool juce::{anonymous}::jniCheckHasExceptionOccurredAndClear()’:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:820:21: error: ‘getEnv’ was not declared in this scope; did you mean ‘getenv’?
  820 |         auto* env = getEnv();
      |                     ^~~~~~
      |                     getenv
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:822:18: error: ‘jobject’ was not declared in this scope
  822 |         LocalRef<jobject> exception (env->ExceptionOccurred());
      |                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:822:25: error: template argument 1 is invalid
  822 |         LocalRef<jobject> exception (env->ExceptionOccurred());
      |                         ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:824:23: error: invalid operands of types ‘int’ and ‘std::nullptr_t’ to binary ‘operator!=’
  824 |         if (exception != nullptr)
      |             ~~~~~~~~~~^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:844:10: error: ‘jobject’ was not declared in this scope
  844 | LocalRef<jobject> CreateJavaInterface (AndroidInterfaceImplementer* implementer,
      |          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:844:17: error: template argument 1 is invalid
  844 | LocalRef<jobject> CreateJavaInterface (AndroidInterfaceImplementer* implementer,
      |                 ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:846:49: error: ‘jobject’ was not declared in this scope
  846 |                                        LocalRef<jobject> subclass);
      |                                                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:846:56: error: template argument 1 is invalid
  846 |                                        LocalRef<jobject> subclass);
      |                                                        ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:849:1: error: ‘jobject’ does not name a type
  849 | jobject juce_invokeImplementer (JNIEnv*, jobject, jlong, jobject, jobject, jobjectArray);
      | ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:850:9: error: variable or field ‘juce_dispatchDelete’ declared void
  850 | void    juce_dispatchDelete    (JNIEnv*, jobject, jlong);
      |         ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:850:33: error: ‘JNIEnv’ was not declared in this scope
  850 | void    juce_dispatchDelete    (JNIEnv*, jobject, jlong);
      |                                 ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:850:40: error: expected primary-expression before ‘,’ token
  850 | void    juce_dispatchDelete    (JNIEnv*, jobject, jlong);
      |                                        ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:850:42: error: ‘jobject’ was not declared in this scope
  850 | void    juce_dispatchDelete    (JNIEnv*, jobject, jlong);
      |                                          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:850:51: error: ‘jlong’ was not declared in this scope; did you mean ‘ulong’?
  850 | void    juce_dispatchDelete    (JNIEnv*, jobject, jlong);
      |                                                   ^~~~~
      |                                                   ulong
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:857:13: error: ‘jobject’ does not name a type
  857 |     virtual jobject invoke (jobject proxy, jobject method, jobjectArray args);
      |             ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:861:21: error: ‘jobject’ was not declared in this scope
  861 |     friend LocalRef<jobject> CreateJavaInterface (AndroidInterfaceImplementer*, const StringArray&, LocalRef<jobject>);
      |                     ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:861:28: error: template argument 1 is invalid
  861 |     friend LocalRef<jobject> CreateJavaInterface (AndroidInterfaceImplementer*, const StringArray&, LocalRef<jobject>);
      |                            ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:861:110: error: ‘jobject’ was not declared in this scope
  861 |     friend LocalRef<jobject> CreateJavaInterface (AndroidInterfaceImplementer*, const StringArray&, LocalRef<jobject>);
      |                                                                                                              ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:861:117: error: template argument 1 is invalid
  861 |     friend LocalRef<jobject> CreateJavaInterface (AndroidInterfaceImplementer*, const StringArray&, LocalRef<jobject>);
      |                                                                                                                     ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:862:12: error: ‘jobject’ does not name a type
  862 |     friend jobject juce_invokeImplementer (JNIEnv*, jobject, jlong, jobject, jobject, jobjectArray);
      |            ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:863:44: error: ‘JNIEnv’ has not been declared
  863 |     friend void    juce_dispatchDelete    (JNIEnv*, jobject, jlong);
      |                                            ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:863:53: error: ‘jobject’ has not been declared
  863 |     friend void    juce_dispatchDelete    (JNIEnv*, jobject, jlong);
      |                                                     ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:863:62: error: ‘jlong’ has not been declared
  863 |     friend void    juce_dispatchDelete    (JNIEnv*, jobject, jlong);
      |                                                              ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:869:10: error: ‘jobject’ was not declared in this scope
  869 | LocalRef<jobject> CreateJavaInterface (AndroidInterfaceImplementer* implementer,
      |          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:869:17: error: template argument 1 is invalid
  869 | LocalRef<jobject> CreateJavaInterface (AndroidInterfaceImplementer* implementer,
      |                 ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:871:10: error: ‘jobject’ was not declared in this scope
  871 | LocalRef<jobject> CreateJavaInterface (AndroidInterfaceImplementer* implementer,
      |          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:871:17: error: template argument 1 is invalid
  871 | LocalRef<jobject> CreateJavaInterface (AndroidInterfaceImplementer* implementer,
      |                 ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:878:51: error: ‘jobject’ has not been declared
  878 |     virtual void onActivityPreCreated            (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:878:73: error: ‘jobject’ has not been declared
  878 |     virtual void onActivityPreCreated            (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                                         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:879:51: error: ‘jobject’ has not been declared
  879 |     virtual void onActivityPreDestroyed          (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:880:51: error: ‘jobject’ has not been declared
  880 |     virtual void onActivityPrePaused             (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:881:51: error: ‘jobject’ has not been declared
  881 |     virtual void onActivityPreResumed            (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:882:51: error: ‘jobject’ has not been declared
  882 |     virtual void onActivityPreSaveInstanceState  (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:882:73: error: ‘jobject’ has not been declared
  882 |     virtual void onActivityPreSaveInstanceState  (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                                         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:883:51: error: ‘jobject’ has not been declared
  883 |     virtual void onActivityPreStarted            (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:884:51: error: ‘jobject’ has not been declared
  884 |     virtual void onActivityPreStopped            (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:886:51: error: ‘jobject’ has not been declared
  886 |     virtual void onActivityCreated               (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:886:73: error: ‘jobject’ has not been declared
  886 |     virtual void onActivityCreated               (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                                         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:887:51: error: ‘jobject’ has not been declared
  887 |     virtual void onActivityDestroyed             (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:888:51: error: ‘jobject’ has not been declared
  888 |     virtual void onActivityPaused                (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:889:51: error: ‘jobject’ has not been declared
  889 |     virtual void onActivityResumed               (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:890:51: error: ‘jobject’ has not been declared
  890 |     virtual void onActivitySaveInstanceState     (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:890:73: error: ‘jobject’ has not been declared
  890 |     virtual void onActivitySaveInstanceState     (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                                         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:891:51: error: ‘jobject’ has not been declared
  891 |     virtual void onActivityStarted               (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:892:51: error: ‘jobject’ has not been declared
  892 |     virtual void onActivityStopped               (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:894:51: error: ‘jobject’ has not been declared
  894 |     virtual void onActivityPostCreated           (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:894:73: error: ‘jobject’ has not been declared
  894 |     virtual void onActivityPostCreated           (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                                         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:895:51: error: ‘jobject’ has not been declared
  895 |     virtual void onActivityPostDestroyed         (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:896:51: error: ‘jobject’ has not been declared
  896 |     virtual void onActivityPostPaused            (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:897:51: error: ‘jobject’ has not been declared
  897 |     virtual void onActivityPostResumed           (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:898:51: error: ‘jobject’ has not been declared
  898 |     virtual void onActivityPostSaveInstanceState (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:898:73: error: ‘jobject’ has not been declared
  898 |     virtual void onActivityPostSaveInstanceState (jobject /*activity*/, jobject /*bundle*/)  {}
      |                                                                         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:899:51: error: ‘jobject’ has not been declared
  899 |     virtual void onActivityPostStarted           (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:900:51: error: ‘jobject’ has not been declared
  900 |     virtual void onActivityPostStopped           (jobject /*activity*/)                      {}
      |                                                   ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:903:5: error: ‘jobject’ does not name a type
  903 |     jobject invoke (jobject, jobject, jobjectArray) override;
      |     ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:911:43: error: ‘jobject’ was not declared in this scope
  911 |     virtual void surfaceChanged (LocalRef<jobject> holder, int format, int width, int height) = 0;
      |                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:911:50: error: template argument 1 is invalid
  911 |     virtual void surfaceChanged (LocalRef<jobject> holder, int format, int width, int height) = 0;
      |                                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:912:43: error: ‘jobject’ was not declared in this scope
  912 |     virtual void surfaceCreated (LocalRef<jobject> holder) = 0;
      |                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:912:50: error: template argument 1 is invalid
  912 |     virtual void surfaceCreated (LocalRef<jobject> holder) = 0;
      |                                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:913:45: error: ‘jobject’ was not declared in this scope
  913 |     virtual void surfaceDestroyed (LocalRef<jobject> holder) = 0;
      |                                             ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:913:52: error: template argument 1 is invalid
  913 |     virtual void surfaceDestroyed (LocalRef<jobject> holder) = 0;
      |                                                    ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:916:5: error: ‘jobject’ does not name a type
  916 |     jobject invoke (jobject proxy, jobject method, jobjectArray args) override
      |     ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:960:38: error: ‘jobject’ was not declared in this scope
  960 |     virtual void onCreated (LocalRef<jobject> /*bundle*/) {}
      |                                      ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:960:45: error: template argument 1 is invalid
  960 |     virtual void onCreated (LocalRef<jobject> /*bundle*/) {}
      |                                             ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:965:86: error: ‘jobject’ was not declared in this scope
  965 |     virtual void onActivityResult (int /*requestCode*/, int /*resultCode*/, LocalRef<jobject> /*data*/) {}
      |                                                                                      ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:965:93: error: template argument 1 is invalid
  965 |     virtual void onActivityResult (int /*requestCode*/, int /*resultCode*/, LocalRef<jobject> /*data*/) {}
      |                                                                                             ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:968:5: error: ‘jobject’ does not name a type
  968 |     jobject getNativeHandle();
      |     ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:976:41: error: ‘JNIEnv’ has not been declared
  976 |     static void onActivityResultNative (JNIEnv*, jobject, jlong, jint, jint, jobject);
      |                                         ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:976:50: error: ‘jobject’ has not been declared
  976 |     static void onActivityResultNative (JNIEnv*, jobject, jlong, jint, jint, jobject);
      |                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:976:59: error: ‘jlong’ has not been declared
  976 |     static void onActivityResultNative (JNIEnv*, jobject, jlong, jint, jint, jobject);
      |                                                           ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:976:66: error: ‘jint’ has not been declared
  976 |     static void onActivityResultNative (JNIEnv*, jobject, jlong, jint, jint, jobject);
      |                                                                  ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:976:72: error: ‘jint’ has not been declared
  976 |     static void onActivityResultNative (JNIEnv*, jobject, jlong, jint, jint, jobject);
      |                                                                        ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:976:78: error: ‘jobject’ has not been declared
  976 |     static void onActivityResultNative (JNIEnv*, jobject, jlong, jint, jint, jobject);
      |                                                                              ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:977:33: error: ‘JNIEnv’ has not been declared
  977 |     static void onCreateNative (JNIEnv*, jobject, jlong, jobject);
      |                                 ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:977:42: error: ‘jobject’ has not been declared
  977 |     static void onCreateNative (JNIEnv*, jobject, jlong, jobject);
      |                                          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:977:51: error: ‘jlong’ has not been declared
  977 |     static void onCreateNative (JNIEnv*, jobject, jlong, jobject);
      |                                                   ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:977:58: error: ‘jobject’ has not been declared
  977 |     static void onCreateNative (JNIEnv*, jobject, jlong, jobject);
      |                                                          ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:978:32: error: ‘JNIEnv’ has not been declared
  978 |     static void onStartNative (JNIEnv*, jobject, jlong);
      |                                ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:978:41: error: ‘jobject’ has not been declared
  978 |     static void onStartNative (JNIEnv*, jobject, jlong);
      |                                         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:978:50: error: ‘jlong’ has not been declared
  978 |     static void onStartNative (JNIEnv*, jobject, jlong);
      |                                                  ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:979:51: error: ‘JNIEnv’ has not been declared
  979 |     static void onRequestPermissionsResultNative (JNIEnv*, jobject, jlong, jint,
      |                                                   ^~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:979:60: error: ‘jobject’ has not been declared
  979 |     static void onRequestPermissionsResultNative (JNIEnv*, jobject, jlong, jint,
      |                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:979:69: error: ‘jlong’ has not been declared
  979 |     static void onRequestPermissionsResultNative (JNIEnv*, jobject, jlong, jint,
      |                                                                     ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:979:76: error: ‘jint’ has not been declared
  979 |     static void onRequestPermissionsResultNative (JNIEnv*, jobject, jlong, jint,
      |                                                                            ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:980:51: error: ‘jobjectArray’ has not been declared
  980 |                                                   jobjectArray, jintArray);
      |                                                   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:980:65: error: ‘jintArray’ has not been declared
  980 |                                                   jobjectArray, jintArray);
      |                                                                 ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:985:52: error: ‘jobject’ was not declared in this scope
  985 | void startAndroidActivityForResult (const LocalRef<jobject>& intent, int requestCode,
      |                                                    ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:985:59: error: template argument 1 is invalid
  985 | void startAndroidActivityForResult (const LocalRef<jobject>& intent, int requestCode,
      |                                                           ^
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:986:75: error: ‘jobject’ was not declared in this scope
  986 |                                     std::function<void(int, int, LocalRef<jobject>)> && callback);
      |                                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_android_JNIHelpers.h:986:82: error: template argument 1 is invalid
  986 |                                     std::function<void(int, int, LocalRef<jobject>)> && callback);
      |                                                                                  ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:30:38: error: ‘NSString’ was not declared in this scope; did you mean ‘String’?
   30 | static inline String nsStringToJuce (NSString* s)
      |                                      ^~~~~~~~
      |                                      String
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:30:48: error: ‘s’ was not declared in this scope
   30 | static inline String nsStringToJuce (NSString* s)
      |                                                ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:31:1: error: expected ‘,’ or ‘;’ before ‘{’ token
   31 | {
      | ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:35:15: error: ‘NSString’ does not name a type; did you mean ‘String’?
   35 | static inline NSString* juceStringToNS (const String& s)
      |               ^~~~~~~~
      |               String
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:40:15: error: ‘NSString’ does not name a type; did you mean ‘String’?
   40 | static inline NSString* nsStringLiteral (const char* const s) noexcept
      |               ^~~~~~~~
      |               String
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:45:15: error: ‘NSString’ does not name a type; did you mean ‘String’?
   45 | static inline NSString* nsEmptyString() noexcept
      |               ^~~~~~~~
      |               String
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:50:15: error: ‘NSURL’ does not name a type; did you mean ‘URL’?
   50 | static inline NSURL* createNSURLFromFile (const String& f)
      |               ^~~~~
      |               URL
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:55:15: error: ‘NSURL’ does not name a type; did you mean ‘URL’?
   55 | static inline NSURL* createNSURLFromFile (const File& f)
      |               ^~~~~
      |               URL
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:60:15: error: ‘NSArray’ does not name a type; did you mean ‘Array’?
   60 | static inline NSArray* createNSArrayFromStringArray (const StringArray& strings)
      |               ^~~~~~~
      |               Array
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:70:8: error: ‘NSArray’ does not name a type; did you mean ‘Array’?
   70 | static NSArray* varArrayToNSArray (const var& varToParse);
      |        ^~~~~~~
      |        Array
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:72:8: error: ‘NSDictionary’ does not name a type
   72 | static NSDictionary* varObjectToNSDictionary (const var& varToParse)
      |        ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:112:8: error: ‘NSArray’ does not name a type; did you mean ‘Array’?
  112 | static NSArray* varArrayToNSArray (const var& varToParse)
      |        ^~~~~~~
      |        Array
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:148:27: error: ‘NSObject’ was not declared in this scope; did you mean ‘JavaObject’?
  148 | static var nsObjectToVar (NSObject* array);
      |                           ^~~~~~~~
      |                           JavaObject
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:148:37: error: ‘array’ was not declared in this scope; did you mean ‘std::array’?
  148 | static var nsObjectToVar (NSObject* array);
      |                                     ^~~~~
      |                                     std::array
In file included from /usr/include/c++/12/bits/unique_ptr.h:36,
                 from /usr/include/c++/12/memory:76:
/usr/include/c++/12/tuple:1595:45: note: ‘std::array’ declared here
 1595 |   template<typename _Tp, size_t _Nm> struct array;
      |                                             ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:150:31: error: ‘NSDictionary’ was not declared in this scope; did you mean ‘nsDictionaryToVar’?
  150 | static var nsDictionaryToVar (NSDictionary* dictionary)
      |                               ^~~~~~~~~~~~
      |                               nsDictionaryToVar
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:150:45: error: ‘dictionary’ was not declared in this scope
  150 | static var nsDictionaryToVar (NSDictionary* dictionary)
      |                                             ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:151:1: error: expected ‘,’ or ‘;’ before ‘{’ token
  151 | {
      | ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:160:26: error: ‘NSArray’ was not declared in this scope; did you mean ‘Array’?
  160 | static var nsArrayToVar (NSArray* array)
      |                          ^~~~~~~
      |                          Array
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:160:35: error: ‘array’ was not declared in this scope; did you mean ‘std::array’?
  160 | static var nsArrayToVar (NSArray* array)
      |                                   ^~~~~
      |                                   std::array
/usr/include/c++/12/tuple:1595:45: note: ‘std::array’ declared here
 1595 |   template<typename _Tp, size_t _Nm> struct array;
      |                                             ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:161:1: error: expected ‘,’ or ‘;’ before ‘{’ token
  161 | {
      | ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:170:12: error: redefinition of ‘juce::var juce::nsObjectToVar’
  170 | static var nsObjectToVar (NSObject* obj)
      |            ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:148:12: note: ‘juce::var juce::nsObjectToVar’ previously declared here
  148 | static var nsObjectToVar (NSObject* array);
      |            ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:170:27: error: ‘NSObject’ was not declared in this scope; did you mean ‘JavaObject’?
  170 | static var nsObjectToVar (NSObject* obj)
      |                           ^~~~~~~~
      |                           JavaObject
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:170:37: error: ‘obj’ was not declared in this scope
  170 | static var nsObjectToVar (NSObject* obj)
      |                                     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:221:21: error: ‘NSObject’ has not been declared
  221 |     void operator()(NSObject* object) const
      |                     ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In member function ‘void juce::NSObjectDeleter::operator()(int*) const’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:223:17: error: expected ‘,’ before ‘release’
  223 |         [object release];
      |                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:223:17: error: ‘release’ was not declared in this scope
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In lambda function:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:223:25: error: expected ‘{’ before ‘;’ token
  223 |         [object release];
      |                         ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:259:21: error: ‘SEL’ has not been declared
  259 |     void addMethod (SEL selector, FunctionType callbackFn, const char* signature)
      |                     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:266:21: error: ‘SEL’ has not been declared
  266 |     void addMethod (SEL selector, FunctionType callbackFn, const char* sig1, const char* sig2)
      |                     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:272:21: error: ‘SEL’ has not been declared
  272 |     void addMethod (SEL selector, FunctionType callbackFn, const char* sig1, const char* sig2, const char* sig3)
      |                     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:278:21: error: ‘SEL’ has not been declared
  278 |     void addMethod (SEL selector, FunctionType callbackFn, const char* sig1, const char* sig2, const char* sig3, const char* sig4)
      |                     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:283:23: error: ‘Protocol’ has not been declared
  283 |     void addProtocol (Protocol* protocol)
      |                       ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:298:26: error: ‘id’ has not been declared
  298 |     static Type getIvar (id self, const char* name)
      |                          ^~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:305:5: error: ‘Class’ does not name a type; did you mean ‘class’?
  305 |     Class cls;
      |     ^~~~~
      |     class
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In constructor ‘juce::ObjCClass<SuperclassType>::ObjCClass(const char*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:232:11: error: class ‘juce::ObjCClass<SuperclassType>’ does not have any field named ‘cls’
  232 |         : cls (objc_allocateClassPair ([SuperclassType class], getRandomisedName (nameRoot).toUTF8(), 0))
      |           ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:232:41: error: capture of non-variable ‘SuperclassType’
  232 |         : cls (objc_allocateClassPair ([SuperclassType class], getRandomisedName (nameRoot).toUTF8(), 0))
      |                                         ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:228:11: note: ‘class SuperclassType’ declared here
  228 | template <typename SuperclassType>
      |           ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:232:56: error: expected ‘,’ before ‘class’
  232 |         : cls (objc_allocateClassPair ([SuperclassType class], getRandomisedName (nameRoot).toUTF8(), 0))
      |                                                        ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:232:56: error: expected identifier before ‘class’
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In lambda function:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:232:62: error: expected ‘{’ before ‘,’ token
  232 |         : cls (objc_allocateClassPair ([SuperclassType class], getRandomisedName (nameRoot).toUTF8(), 0))
      |                                                              ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In destructor ‘juce::ObjCClass<SuperclassType>::~ObjCClass()’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:238:32: error: ‘cls’ was not declared in this scope; did you mean ‘cos’?
  238 |         objc_disposeClassPair (cls);
      |                                ^~~
      |                                cos
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In member function ‘void juce::ObjCClass<SuperclassType>::registerClass()’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:243:33: error: ‘cls’ was not declared in this scope; did you mean ‘cos’?
  243 |         objc_registerClassPair (cls);
      |                                 ^~~
      |                                 cos
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In member function ‘SuperclassType* juce::ObjCClass<SuperclassType>::createInstance() const’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:248:38: error: ‘cls’ was not declared in this scope; did you mean ‘cos’?
  248 |         return class_createInstance (cls, 0);
      |                                      ^~~
      |                                      cos
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In member function ‘void juce::ObjCClass<SuperclassType>::addIvar(const char*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:254:9: error: ‘BOOL’ was not declared in this scope
  254 |         BOOL b = class_addIvar (cls, name, sizeof (Type), (uint8_t) rint (log2 (sizeof (Type))), @encode (Type));
      |         ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:255:36: error: ‘b’ was not declared in this scope
  255 |         jassert (b); ignoreUnused (b);
      |                                    ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In member function ‘void juce::ObjCClass<SuperclassType>::addMethod(int, FunctionType, const char*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:261:9: error: ‘BOOL’ was not declared in this scope
  261 |         BOOL b = class_addMethod (cls, selector, (IMP) callbackFn, signature);
      |         ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:262:36: error: ‘b’ was not declared in this scope
  262 |         jassert (b); ignoreUnused (b);
      |                                    ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In member function ‘void juce::ObjCClass<SuperclassType>::addProtocol(int*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:285:9: error: ‘BOOL’ was not declared in this scope
  285 |         BOOL b = class_addProtocol (cls, protocol);
      |         ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:286:36: error: ‘b’ was not declared in this scope
  286 |         jassert (b); ignoreUnused (b);
      |                                    ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:319:52: error: ‘NSObject’ was not declared in this scope; did you mean ‘JavaObject’?
  319 | struct ObjCLifetimeManagedClass : public ObjCClass<NSObject>
      |                                                    ^~~~~~~~
      |                                                    JavaObject
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:319:60: error: template argument 1 is invalid
  319 | struct ObjCLifetimeManagedClass : public ObjCClass<NSObject>
      |                                                            ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:337:12: error: ‘id’ does not name a type; did you mean ‘Uuid’?
  337 |     static id initWithJuceObject (id _self, SEL, JuceClass* obj)
      |            ^~
      |            Uuid
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:348:26: error: ‘id’ has not been declared
  348 |     static void dealloc (id _self, SEL)
      |                          ^~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:348:36: error: ‘SEL’ has not been declared
  348 |     static void dealloc (id _self, SEL)
      |                                    ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In constructor ‘juce::ObjCLifetimeManagedClass<JuceClass>::ObjCLifetimeManagedClass()’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:322:21: error: ‘NSObject’ was not declared in this scope; did you mean ‘JavaObject’?
  322 |         : ObjCClass<NSObject> ("ObjCLifetimeManagedClass_")
      |                     ^~~~~~~~
      |                     JavaObject
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:322:29: error: template argument 1 is invalid
  322 |         : ObjCClass<NSObject> ("ObjCLifetimeManagedClass_")
      |                             ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:322:31: error: expected ‘{’ before ‘(’ token
  322 |         : ObjCClass<NSObject> ("ObjCLifetimeManagedClass_")
      |                               ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In static member function ‘static void juce::ObjCLifetimeManagedClass<JuceClass>::dealloc(int, int)’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:350:25: error: ‘getIvar’ was not declared in this scope; did you mean ‘getchar’?
  350 |         if (auto* obj = getIvar<JuceClass*> (_self, "cppObject"))
      |                         ^~~~~~~
      |                         getchar
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:350:42: error: expected primary-expression before ‘*’ token
  350 |         if (auto* obj = getIvar<JuceClass*> (_self, "cppObject"))
      |                                          ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:350:43: error: expected primary-expression before ‘>’ token
  350 |         if (auto* obj = getIvar<JuceClass*> (_self, "cppObject"))
      |                                           ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:356:9: error: ‘objc_super’ was not declared in this scope
  356 |         objc_super s = { _self, [NSObject class] };
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:357:9: error: ‘ObjCMsgSendSuper’ was not declared in this scope
  357 |         ObjCMsgSendSuper<void> (&s, @selector(dealloc));
      |         ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:357:26: error: expected primary-expression before ‘void’
  357 |         ObjCMsgSendSuper<void> (&s, @selector(dealloc));
      |                          ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:371:1: error: ‘NSObject’ does not name a type
  371 | NSObject* createNSObjectFromJuceClass (Class* obj)
      | ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:382:34: error: ‘NSObject’ was not declared in this scope; did you mean ‘JavaObject’?
  382 | Class* getJuceClassFromNSObject (NSObject* obj)
      |                                  ^~~~~~~~
      |                                  JavaObject
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:382:44: error: ‘obj’ was not declared in this scope
  382 | Class* getJuceClassFromNSObject (NSObject* obj)
      |                                            ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:382:48: error: expected ‘;’ before ‘{’ token
  382 | Class* getJuceClassFromNSObject (NSObject* obj)
      |                                                ^
      |                                                ;
  383 | {
      | ~                                               
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:388:10: error: expected unqualified-id before ‘^’ token
  388 | ReturnT (^CreateObjCBlock(Class* object, ReturnT (Class::*fn)(Params...))) (Params...)
      |          ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:388:10: error: expected ‘)’ before ‘^’ token
  388 | ReturnT (^CreateObjCBlock(Class* object, ReturnT (Class::*fn)(Params...))) (Params...)
      |         ~^
      |          )
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In constructor ‘juce::ObjCBlock<BlockType>::ObjCBlock(BlockType)’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:403:41: error: expected ‘,’ before ‘copy’
  403 |     ObjCBlock (BlockType b) : block ([b copy]) {}
      |                                         ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:403:41: error: ‘copy’ was not declared in this scope; did you mean ‘std::copy’?
  403 |     ObjCBlock (BlockType b) : block ([b copy]) {}
      |                                         ^~~~
      |                                         std::copy
In file included from /usr/include/c++/12/algorithm:73,
                 from /usr/include/libopenshot-audio/juce_core/system/juce_StandardHeader.h:51:
/usr/include/c++/12/pstl/glue_algorithm_defs.h:134:1: note: ‘std::copy’ declared here
  134 | copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
      | ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In lambda function:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:403:46: error: expected ‘{’ before ‘)’ token
  403 |     ObjCBlock (BlockType b) : block ([b copy]) {}
      |                                              ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In member function ‘juce::ObjCBlock<BlockType>& juce::ObjCBlock<BlockType>::operator=(const BlockType&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:404:78: error: capture of non-variable ‘juce::ObjCBlock<BlockType>::block’
  404 |     ObjCBlock& operator= (const BlockType& other) { if (block != nullptr) { [block release]; } block = [other copy]; return *this; }
      |                                                                              ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:412:15: note: ‘BlockType juce::ObjCBlock<BlockType>::block’ declared here
  412 |     BlockType block;
      |               ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:404:84: error: expected ‘,’ before ‘release’
  404 |     ObjCBlock& operator= (const BlockType& other) { if (block != nullptr) { [block release]; } block = [other copy]; return *this; }
      |                                                                                    ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:404:84: error: ‘release’ was not declared in this scope
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In lambda function:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:404:92: error: expected ‘{’ before ‘;’ token
  404 |     ObjCBlock& operator= (const BlockType& other) { if (block != nullptr) { [block release]; } block = [other copy]; return *this; }
      |                                                                                            ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In member function ‘juce::ObjCBlock<BlockType>& juce::ObjCBlock<BlockType>::operator=(const BlockType&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:404:111: error: expected ‘,’ before ‘copy’
  404 |     ObjCBlock& operator= (const BlockType& other) { if (block != nullptr) { [block release]; } block = [other copy]; return *this; }
      |                                                                                                               ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:404:111: error: ‘copy’ was not declared in this scope; did you mean ‘std::copy’?
  404 |     ObjCBlock& operator= (const BlockType& other) { if (block != nullptr) { [block release]; } block = [other copy]; return *this; }
      |                                                                                                               ^~~~
      |                                                                                                               std::copy
/usr/include/c++/12/pstl/glue_algorithm_defs.h:134:1: note: ‘std::copy’ declared here
  134 | copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
      | ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In lambda function:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:404:116: error: expected ‘{’ before ‘;’ token
  404 |     ObjCBlock& operator= (const BlockType& other) { if (block != nullptr) { [block release]; } block = [other copy]; return *this; }
      |                                                                                                                    ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In destructor ‘juce::ObjCBlock<BlockType>::~ObjCBlock()’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:407:43: error: capture of non-variable ‘juce::ObjCBlock<BlockType>::block’
  407 |     ~ObjCBlock() { if (block != nullptr) [block release]; }
      |                                           ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:412:15: note: ‘BlockType juce::ObjCBlock<BlockType>::block’ declared here
  412 |     BlockType block;
      |               ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:407:49: error: expected ‘,’ before ‘release’
  407 |     ~ObjCBlock() { if (block != nullptr) [block release]; }
      |                                                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:407:49: error: ‘release’ was not declared in this scope
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In lambda function:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:407:57: error: expected ‘{’ before ‘;’ token
  407 |     ~ObjCBlock() { if (block != nullptr) [block release]; }
      |                                                         ^
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:426:5: error: ‘CFStringRef’ does not name a type; did you mean ‘StringRef’?
  426 |     CFStringRef cfString = {};
      |     ^~~~~~~~~~~
      |     StringRef
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In constructor ‘juce::ScopedCFString::ScopedCFString(juce::String)’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:418:33: error: class ‘juce::ScopedCFString’ does not have any field named ‘cfString’
  418 |     ScopedCFString (String s) : cfString (s.toCFString())  {}
      |                                 ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:418:45: error: ‘class juce::String’ has no member named ‘toCFString’; did you mean ‘toHexString’?
  418 |     ScopedCFString (String s) : cfString (s.toCFString())  {}
      |                                             ^~~~~~~~~~
      |                                             toHexString
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h: In destructor ‘juce::ScopedCFString::~ScopedCFString()’:
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:422:13: error: ‘cfString’ was not declared in this scope; did you mean ‘String’?
  422 |         if (cfString != nullptr)
      |             ^~~~~~~~
      |             String
/usr/include/libopenshot-audio/juce_core/native/juce_osx_ObjCHelpers.h:423:13: error: ‘CFRelease’ was not declared in this scope
  423 |             CFRelease (cfString);
      |             ^~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:146:
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h: In function ‘juce::IPAddress juce::{anonymous}::makeAddress(const sockaddr_in6*)’:
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:35:9: error: ‘IPAddressByteUnion’ was not declared in this scope
   35 |         IPAddressByteUnion temp;
      |         ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:40:13: error: ‘temp’ was not declared in this scope; did you mean ‘tm’?
   40 |             temp.split[0] = addr.s6_addr[i * 2 + 1];
      |             ^~~~
      |             tm
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h: In function ‘bool juce::{anonymous}::populateInterfaceInfo(ifaddrs*, InterfaceInfo&)’:
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:70:16: error: invalid use of incomplete type ‘struct juce::{anonymous}::ifaddrs’
   70 |         if (ifa->ifa_addr != nullptr)
      |                ^~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:68:40: note: forward declaration of ‘struct juce::{anonymous}::ifaddrs’
   68 |     bool populateInterfaceInfo (struct ifaddrs* ifa, InterfaceInfo& interfaceInfo)
      |                                        ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:72:20: error: invalid use of incomplete type ‘struct juce::{anonymous}::ifaddrs’
   72 |             if (ifa->ifa_addr->sa_family == AF_INET)
      |                    ^~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:68:40: note: forward declaration of ‘struct juce::{anonymous}::ifaddrs’
   68 |     bool populateInterfaceInfo (struct ifaddrs* ifa, InterfaceInfo& interfaceInfo)
      |                                        ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:74:80: error: invalid use of incomplete type ‘struct juce::{anonymous}::ifaddrs’
   74 |                 auto interfaceAddressInfo = reinterpret_cast<sockaddr_in*> (ifa->ifa_addr);
      |                                                                                ^~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:68:40: note: forward declaration of ‘struct juce::{anonymous}::ifaddrs’
   68 |     bool populateInterfaceInfo (struct ifaddrs* ifa, InterfaceInfo& interfaceInfo)
      |                                        ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:75:80: error: invalid use of incomplete type ‘struct juce::{anonymous}::ifaddrs’
   75 |                 auto broadcastAddressInfo = reinterpret_cast<sockaddr_in*> (ifa->ifa_dstaddr);
      |                                                                                ^~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:68:40: note: forward declaration of ‘struct juce::{anonymous}::ifaddrs’
   68 |     bool populateInterfaceInfo (struct ifaddrs* ifa, InterfaceInfo& interfaceInfo)
      |                                        ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:84:25: error: invalid use of incomplete type ‘struct juce::{anonymous}::ifaddrs’
   84 |             else if (ifa->ifa_addr->sa_family == AF_INET6)
      |                         ^~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:68:40: note: forward declaration of ‘struct juce::{anonymous}::ifaddrs’
   68 |     bool populateInterfaceInfo (struct ifaddrs* ifa, InterfaceInfo& interfaceInfo)
      |                                        ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:86:99: error: invalid use of incomplete type ‘struct juce::{anonymous}::ifaddrs’
   86 |                 interfaceInfo.interfaceAddress = makeAddress (reinterpret_cast<sockaddr_in6*> (ifa->ifa_addr));
      |                                                                                                   ^~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:68:40: note: forward declaration of ‘struct juce::{anonymous}::ifaddrs’
   68 |     bool populateInterfaceInfo (struct ifaddrs* ifa, InterfaceInfo& interfaceInfo)
      |                                        ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:87:99: error: invalid use of incomplete type ‘struct juce::{anonymous}::ifaddrs’
   87 |                 interfaceInfo.broadcastAddress = makeAddress (reinterpret_cast<sockaddr_in6*> (ifa->ifa_dstaddr));
      |                                                                                                   ^~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:68:40: note: forward declaration of ‘struct juce::{anonymous}::ifaddrs’
   68 |     bool populateInterfaceInfo (struct ifaddrs* ifa, InterfaceInfo& interfaceInfo)
      |                                        ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h: In function ‘juce::Array<juce::{anonymous}::InterfaceInfo> juce::{anonymous}::getAllInterfaceInfo()’:
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:100:13: error: ‘getifaddrs’ was not declared in this scope; did you mean ‘ifaddrs’?
  100 |         if (getifaddrs (&ifaddr) != -1)
      |             ^~~~~~~~~~
      |             ifaddrs
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:102:63: error: invalid use of incomplete type ‘struct juce::{anonymous}::ifaddrs’
  102 |             for (auto* ifa = ifaddr; ifa != nullptr; ifa = ifa->ifa_next)
      |                                                               ^~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:68:40: note: forward declaration of ‘struct juce::{anonymous}::ifaddrs’
   68 |     bool populateInterfaceInfo (struct ifaddrs* ifa, InterfaceInfo& interfaceInfo)
      |                                        ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_IPAddress.h:110:13: error: ‘freeifaddrs’ was not declared in this scope; did you mean ‘ifaddrs’?
  110 |             freeifaddrs (ifaddr);
      |             ^~~~~~~~~~~
      |             ifaddrs
In file included from /tmp/ix0IlalA8K/dump1.h:147:
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h: In static member function ‘static bool juce::Process::setMaxNumberOfFileHandles(int)’:
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:65:5: error: ‘rlimit’ was not declared in this scope; did you mean ‘jlimit’?
   65 |     rlimit lim;
      |     ^~~~~~
      |     jlimit
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:67:20: error: ‘RLIMIT_NOFILE’ was not declared in this scope
   67 |     if (getrlimit (RLIMIT_NOFILE, &lim) == 0)
      |                    ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:67:36: error: ‘lim’ was not declared in this scope
   67 |     if (getrlimit (RLIMIT_NOFILE, &lim) == 0)
      |                                    ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:67:9: error: ‘getrlimit’ was not declared in this scope
   67 |     if (getrlimit (RLIMIT_NOFILE, &lim) == 0)
      |         ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:69:50: error: ‘RLIM_INFINITY’ was not declared in this scope; did you mean ‘FP_INFINITE’?
   69 |         if (newMaxNumber <= 0 && lim.rlim_cur == RLIM_INFINITY && lim.rlim_max == RLIM_INFINITY)
      |                                                  ^~~~~~~~~~~~~
      |                                                  FP_INFINITE
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:72:50: error: ‘rlim_t’ was not declared in this scope; did you mean ‘jlimit’?
   72 |         if (newMaxNumber > 0 && lim.rlim_cur >= (rlim_t) newMaxNumber)
      |                                                  ^~~~~~
      |                                                  jlimit
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:72:57: error: expected ‘)’ before ‘newMaxNumber’
   72 |         if (newMaxNumber > 0 && lim.rlim_cur >= (rlim_t) newMaxNumber)
      |            ~                                            ^~~~~~~~~~~~~
      |                                                         )
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:76:5: error: ‘lim’ was not declared in this scope
   76 |     lim.rlim_cur = lim.rlim_max = newMaxNumber <= 0 ? RLIM_INFINITY : (rlim_t) newMaxNumber;
      |     ^~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:76:55: error: ‘RLIM_INFINITY’ was not declared in this scope; did you mean ‘FP_INFINITE’?
   76 |     lim.rlim_cur = lim.rlim_max = newMaxNumber <= 0 ? RLIM_INFINITY : (rlim_t) newMaxNumber;
      |                                                       ^~~~~~~~~~~~~
      |                                                       FP_INFINITE
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:76:72: error: ‘rlim_t’ was not declared in this scope; did you mean ‘jlimit’?
   76 |     lim.rlim_cur = lim.rlim_max = newMaxNumber <= 0 ? RLIM_INFINITY : (rlim_t) newMaxNumber;
      |                                                                        ^~~~~~
      |                                                                        jlimit
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:77:23: error: ‘RLIMIT_NOFILE’ was not declared in this scope
   77 |     return setrlimit (RLIMIT_NOFILE, &lim) == 0;
      |                       ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_posix_SharedCode.h:77:12: error: ‘setrlimit’ was not declared in this scope
   77 |     return setrlimit (RLIMIT_NOFILE, &lim) == 0;
      |            ^~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:148:
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:31:53: error: ‘CLSID’ does not name a type
   31 |  template<typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
      |                                                     ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:35:22: error: ‘::IUnknown’ has not been declared
   35 |  struct UUIDGetter<::IUnknown>
      |                      ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:35:30: error: template argument 1 is invalid
   35 |  struct UUIDGetter<::IUnknown>
      |                              ^
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:53:8: error: ‘GUID’ does not name a type
   53 | inline GUID uuidFromString (const char* s) noexcept
      |        ^~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:115:5: error: ‘HRESULT’ does not name a type
  115 |     HRESULT CoCreateInstance (REFCLSID classUUID, DWORD dwClsContext = CLSCTX_INPROC_SERVER)
      |     ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:123:5: error: ‘HRESULT’ does not name a type
  123 |     HRESULT QueryInterface (REFCLSID classUUID, ComSmartPtr<OtherComClass>& destObject) const
      |     ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:132:5: error: ‘HRESULT’ does not name a type
  132 |     HRESULT QueryInterface (ComSmartPtr<OtherComClass>& destObject) const
      |     ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:156:5: error: ‘ULONG’ does not name a type
  156 |     ULONG __stdcall AddRef()    { return ++refCount; }
      |     ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:157:5: error: ‘ULONG’ does not name a type
  157 |     ULONG __stdcall Release()   { auto r = --refCount; if (r == 0) delete this; return r; }
      |     ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:160:5: error: ‘ULONG’ does not name a type
  160 |     ULONG refCount;
      |     ^~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:146:25: error: ‘HRESULT’ does not name a type
  146 | #define JUCE_COMRESULT  HRESULT __stdcall
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:162:5: note: in expansion of macro ‘JUCE_COMRESULT’
  162 |     JUCE_COMRESULT QueryInterface (REFIID refId, void** result)
      |     ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:146:25: error: ‘HRESULT’ does not name a type
  146 | #define JUCE_COMRESULT  HRESULT __stdcall
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:172:5: note: in expansion of macro ‘JUCE_COMRESULT’
  172 |     JUCE_COMRESULT castToType (void** result)
      |     ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h: In constructor ‘juce::ComBaseClassHelperBase<ComClass>::ComBaseClassHelperBase(unsigned int)’:
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:153:62: error: class ‘juce::ComBaseClassHelperBase<ComClass>’ does not have any field named ‘refCount’
  153 |     ComBaseClassHelperBase (unsigned int initialRefCount)  : refCount (initialRefCount) {}
      |                                                              ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h: At global scope:
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:146:25: error: ‘HRESULT’ does not name a type
  146 | #define JUCE_COMRESULT  HRESULT __stdcall
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_core/native/juce_win32_ComSmartPtr.h:189:5: note: in expansion of macro ‘JUCE_COMRESULT’
  189 |     JUCE_COMRESULT QueryInterface (REFIID refId, void** result)
      |     ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:149:
/usr/include/libopenshot-audio/juce_core/network/juce_IPAddress.h:32:17: error: redefinition of ‘class juce::IPAddress’
   32 | class JUCE_API  IPAddress  final
      |                 ^~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:321:
/usr/include/libopenshot-audio/juce_core/network/juce_IPAddress.h:32:17: note: previous definition of ‘class juce::IPAddress’
   32 | class JUCE_API  IPAddress  final
      |                 ^~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:150:
/usr/include/libopenshot-audio/juce_core/network/juce_MACAddress.h:32:17: error: redefinition of ‘class juce::MACAddress’
   32 | class JUCE_API  MACAddress  final
      |                 ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:322:
/usr/include/libopenshot-audio/juce_core/network/juce_MACAddress.h:32:17: note: previous definition of ‘class juce::MACAddress’
   32 | class JUCE_API  MACAddress  final
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:151:
/usr/include/libopenshot-audio/juce_core/network/juce_NamedPipe.h:36:17: error: redefinition of ‘class juce::NamedPipe’
   36 | class JUCE_API  NamedPipe  final
      |                 ^~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:323:
/usr/include/libopenshot-audio/juce_core/network/juce_NamedPipe.h:36:17: note: previous definition of ‘class juce::NamedPipe’
   36 | class JUCE_API  NamedPipe  final
      |                 ^~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:152:
/usr/include/libopenshot-audio/juce_core/network/juce_Socket.h:37:17: error: redefinition of ‘class juce::StreamingSocket’
   37 | class JUCE_API  StreamingSocket  final
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:324:
/usr/include/libopenshot-audio/juce_core/network/juce_Socket.h:37:17: note: previous definition of ‘class juce::StreamingSocket’
   37 | class JUCE_API  StreamingSocket  final
      |                 ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/network/juce_Socket.h:203:17: error: redefinition of ‘class juce::DatagramSocket’
  203 | class JUCE_API  DatagramSocket  final
      |                 ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/network/juce_Socket.h:203:17: note: previous definition of ‘class juce::DatagramSocket’
  203 | class JUCE_API  DatagramSocket  final
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:153:
/usr/include/libopenshot-audio/juce_core/network/juce_URL.h:37:17: error: redefinition of ‘class juce::URL’
   37 | class JUCE_API  URL
      |                 ^~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:325:
/usr/include/libopenshot-audio/juce_core/network/juce_URL.h:37:17: note: previous definition of ‘class juce::URL’
   37 | class JUCE_API  URL
      |                 ^~~
In file included from /tmp/ix0IlalA8K/dump1.h:154:
/usr/include/libopenshot-audio/juce_core/network/juce_WebInputStream.h:32:16: error: redefinition of ‘class juce::WebInputStream’
   32 | class JUCE_API WebInputStream : public InputStream
      |                ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:326:
/usr/include/libopenshot-audio/juce_core/network/juce_WebInputStream.h:32:16: note: previous definition of ‘class juce::WebInputStream’
   32 | class JUCE_API WebInputStream : public InputStream
      |                ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:155:
/usr/include/libopenshot-audio/juce_core/streams/juce_BufferedInputStream.h:36:17: error: redefinition of ‘class juce::BufferedInputStream’
   36 | class JUCE_API  BufferedInputStream  : public InputStream
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:284:
/usr/include/libopenshot-audio/juce_core/streams/juce_BufferedInputStream.h:36:17: note: previous definition of ‘class juce::BufferedInputStream’
   36 | class JUCE_API  BufferedInputStream  : public InputStream
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:156:
/usr/include/libopenshot-audio/juce_core/streams/juce_FileInputSource.h:34:17: error: redefinition of ‘class juce::FileInputSource’
   34 | class JUCE_API  FileInputSource     : public InputSource
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:298:
/usr/include/libopenshot-audio/juce_core/streams/juce_FileInputSource.h:34:17: note: previous definition of ‘class juce::FileInputSource’
   34 | class JUCE_API  FileInputSource     : public InputSource
      |                 ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:157:
/usr/include/libopenshot-audio/juce_core/streams/juce_InputSource.h:37:17: error: redefinition of ‘class juce::InputSource’
   37 | class JUCE_API  InputSource
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:288:
/usr/include/libopenshot-audio/juce_core/streams/juce_InputSource.h:37:17: note: previous definition of ‘class juce::InputSource’
   37 | class JUCE_API  InputSource
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:158:
/usr/include/libopenshot-audio/juce_core/streams/juce_InputStream.h:36:17: error: redefinition of ‘class juce::InputStream’
   36 | class JUCE_API  InputStream
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:282:
/usr/include/libopenshot-audio/juce_core/streams/juce_InputStream.h:36:17: note: previous definition of ‘class juce::InputStream’
   36 | class JUCE_API  InputStream
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:159:
/usr/include/libopenshot-audio/juce_core/streams/juce_MemoryInputStream.h:35:17: error: redefinition of ‘class juce::MemoryInputStream’
   35 | class JUCE_API  MemoryInputStream  : public InputStream
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:285:
/usr/include/libopenshot-audio/juce_core/streams/juce_MemoryInputStream.h:35:17: note: previous definition of ‘class juce::MemoryInputStream’
   35 | class JUCE_API  MemoryInputStream  : public InputStream
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:160:
/usr/include/libopenshot-audio/juce_core/streams/juce_MemoryOutputStream.h:35:17: error: redefinition of ‘class juce::MemoryOutputStream’
   35 | class JUCE_API  MemoryOutputStream  : public OutputStream
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:286:
/usr/include/libopenshot-audio/juce_core/streams/juce_MemoryOutputStream.h:35:17: note: previous definition of ‘class juce::MemoryOutputStream’
   35 | class JUCE_API  MemoryOutputStream  : public OutputStream
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:161:
/usr/include/libopenshot-audio/juce_core/streams/juce_OutputStream.h:37:17: error: redefinition of ‘class juce::OutputStream’
   37 | class JUCE_API  OutputStream
      |                 ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:283:
/usr/include/libopenshot-audio/juce_core/streams/juce_OutputStream.h:37:17: note: previous definition of ‘class juce::OutputStream’
   37 | class JUCE_API  OutputStream
      |                 ^~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:162:
/usr/include/libopenshot-audio/juce_core/streams/juce_SubregionStream.h:34:17: error: redefinition of ‘class juce::SubregionStream’
   34 | class JUCE_API  SubregionStream  : public InputStream
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:287:
/usr/include/libopenshot-audio/juce_core/streams/juce_SubregionStream.h:34:17: note: previous definition of ‘class juce::SubregionStream’
   34 | class JUCE_API  SubregionStream  : public InputStream
      |                 ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:163:
/usr/include/libopenshot-audio/juce_core/streams/juce_URLInputSource.h:34:17: error: redefinition of ‘class juce::URLInputSource’
   34 | class JUCE_API  URLInputSource     : public InputSource
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:327:
/usr/include/libopenshot-audio/juce_core/streams/juce_URLInputSource.h:34:17: note: previous definition of ‘class juce::URLInputSource’
   34 | class JUCE_API  URLInputSource     : public InputSource
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:167:
/usr/include/libopenshot-audio/juce_core/system/juce_SystemStats.h:32:17: error: redefinition of ‘class juce::SystemStats’
   32 | class JUCE_API  SystemStats  final
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:267:
/usr/include/libopenshot-audio/juce_core/system/juce_SystemStats.h:32:17: note: previous definition of ‘class juce::SystemStats’
   32 | class JUCE_API  SystemStats  final
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:169:
/usr/include/libopenshot-audio/juce_core/text/juce_Base64.h:32:17: error: redefinition of ‘struct juce::Base64’
   32 | struct JUCE_API Base64
      |                 ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:272:
/usr/include/libopenshot-audio/juce_core/text/juce_Base64.h:32:17: note: previous definition of ‘struct juce::Base64’
   32 | struct JUCE_API Base64
      |                 ^~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:170:
/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_ASCII.h:37:7: error: redefinition of ‘class juce::CharPointer_ASCII’
   37 | class CharPointer_ASCII  final
      |       ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:228:
/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_ASCII.h:37:7: note: previous definition of ‘class juce::CharPointer_ASCII’
   37 | class CharPointer_ASCII  final
      |       ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:171:
/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_UTF16.h:34:7: error: redefinition of ‘class juce::CharPointer_UTF16’
   34 | class CharPointer_UTF16  final
      |       ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:226:
/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_UTF16.h:34:7: note: previous definition of ‘class juce::CharPointer_UTF16’
   34 | class CharPointer_UTF16  final
      |       ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:172:
/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_UTF32.h:34:7: error: redefinition of ‘class juce::CharPointer_UTF32’
   34 | class CharPointer_UTF32  final
      |       ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:227:
/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_UTF32.h:34:7: note: previous definition of ‘class juce::CharPointer_UTF32’
   34 | class CharPointer_UTF32  final
      |       ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:173:
/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_UTF8.h:34:7: error: redefinition of ‘class juce::CharPointer_UTF8’
   34 | class CharPointer_UTF8  final
      |       ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:225:
/usr/include/libopenshot-audio/juce_core/text/juce_CharPointer_UTF8.h:34:7: note: previous definition of ‘class juce::CharPointer_UTF8’
   34 | class CharPointer_UTF8  final
      |       ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:174:
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:69:37: error: redefinition of ‘struct juce::internal::make_unsigned<Type>’
   69 |     template <typename Type> struct make_unsigned               { using type = Type; };
      |                                     ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:218:
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:69:37: note: previous definition of ‘struct juce::internal::make_unsigned<Type>’
   69 |     template <typename Type> struct make_unsigned               { using type = Type; };
      |                                     ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:70:24: error: redefinition of ‘struct juce::internal::make_unsigned<signed char>’
   70 |     template <> struct make_unsigned<signed char>               { using type = unsigned char; };
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:70:24: note: previous definition of ‘struct juce::internal::make_unsigned<signed char>’
   70 |     template <> struct make_unsigned<signed char>               { using type = unsigned char; };
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:71:24: error: redefinition of ‘struct juce::internal::make_unsigned<char>’
   71 |     template <> struct make_unsigned<char>                      { using type = unsigned char; };
      |                        ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:71:24: note: previous definition of ‘struct juce::internal::make_unsigned<char>’
   71 |     template <> struct make_unsigned<char>                      { using type = unsigned char; };
      |                        ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:72:24: error: redefinition of ‘struct juce::internal::make_unsigned<short int>’
   72 |     template <> struct make_unsigned<short>                     { using type = unsigned short; };
      |                        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:72:24: note: previous definition of ‘struct juce::internal::make_unsigned<short int>’
   72 |     template <> struct make_unsigned<short>                     { using type = unsigned short; };
      |                        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:73:24: error: redefinition of ‘struct juce::internal::make_unsigned<int>’
   73 |     template <> struct make_unsigned<int>                       { using type = unsigned int; };
      |                        ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:73:24: note: previous definition of ‘struct juce::internal::make_unsigned<int>’
   73 |     template <> struct make_unsigned<int>                       { using type = unsigned int; };
      |                        ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:74:24: error: redefinition of ‘struct juce::internal::make_unsigned<long int>’
   74 |     template <> struct make_unsigned<long>                      { using type = unsigned long; };
      |                        ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:74:24: note: previous definition of ‘struct juce::internal::make_unsigned<long int>’
   74 |     template <> struct make_unsigned<long>                      { using type = unsigned long; };
      |                        ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:75:24: error: redefinition of ‘struct juce::internal::make_unsigned<long long int>’
   75 |     template <> struct make_unsigned<long long>                 { using type = unsigned long long; };
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:75:24: note: previous definition of ‘struct juce::internal::make_unsigned<long long int>’
   75 |     template <> struct make_unsigned<long long>                 { using type = unsigned long long; };
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:91:17: error: redefinition of ‘class juce::CharacterFunctions’
   91 | class JUCE_API  CharacterFunctions
      |                 ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_CharacterFunctions.h:91:17: note: previous definition of ‘class juce::CharacterFunctions’
   91 | class JUCE_API  CharacterFunctions
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:175:
/usr/include/libopenshot-audio/juce_core/text/juce_Identifier.h:38:17: error: redefinition of ‘class juce::Identifier’
   38 | class JUCE_API  Identifier  final
      |                 ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:265:
/usr/include/libopenshot-audio/juce_core/text/juce_Identifier.h:38:17: note: previous definition of ‘class juce::Identifier’
   38 | class JUCE_API  Identifier  final
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:176:
/usr/include/libopenshot-audio/juce_core/text/juce_LocalisedStrings.h:71:17: error: redefinition of ‘class juce::LocalisedStrings’
   71 | class JUCE_API  LocalisedStrings
      |                 ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:271:
/usr/include/libopenshot-audio/juce_core/text/juce_LocalisedStrings.h:71:17: note: previous definition of ‘class juce::LocalisedStrings’
   71 | class JUCE_API  LocalisedStrings
      |                 ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:177:
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:39:17: error: redefinition of ‘class juce::NewLine’
   39 | class JUCE_API  NewLine
      |                 ^~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:263:
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:39:17: note: previous definition of ‘class juce::NewLine’
   39 | class JUCE_API  NewLine
      |                 ^~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:75:16: error: redefinition of ‘juce::String& juce::operator<<(String&, const NewLine&)’
   75 | inline String& operator<< (String& string1, const NewLine&) { return string1 += NewLine::getDefault(); }
      |                ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:75:16: note: ‘juce::String& juce::operator<<(String&, const NewLine&)’ previously defined here
   75 | inline String& operator<< (String& string1, const NewLine&) { return string1 += NewLine::getDefault(); }
      |                ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:76:16: error: redefinition of ‘juce::String& juce::operator+=(String&, const NewLine&)’
   76 | inline String& operator+= (String& s1, const NewLine&)      { return s1 += NewLine::getDefault(); }
      |                ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:76:16: note: ‘juce::String& juce::operator+=(String&, const NewLine&)’ previously defined here
   76 | inline String& operator+= (String& s1, const NewLine&)      { return s1 += NewLine::getDefault(); }
      |                ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:78:15: error: redefinition of ‘juce::String juce::operator+(const NewLine&, const NewLine&)’
   78 | inline String operator+ (const NewLine&, const NewLine&)    { return String (NewLine::getDefault()) + NewLine::getDefault(); }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:78:15: note: ‘juce::String juce::operator+(const NewLine&, const NewLine&)’ previously defined here
   78 | inline String operator+ (const NewLine&, const NewLine&)    { return String (NewLine::getDefault()) + NewLine::getDefault(); }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:79:15: error: redefinition of ‘juce::String juce::operator+(String, const NewLine&)’
   79 | inline String operator+ (String s1, const NewLine&)         { return s1 += NewLine::getDefault(); }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:79:15: note: ‘juce::String juce::operator+(String, const NewLine&)’ previously defined here
   79 | inline String operator+ (String s1, const NewLine&)         { return s1 += NewLine::getDefault(); }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:80:15: error: redefinition of ‘juce::String juce::operator+(const NewLine&, const char*)’
   80 | inline String operator+ (const NewLine&, const char* s2)    { return String (NewLine::getDefault()) + s2; }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_NewLine.h:80:15: note: ‘juce::String juce::operator+(const NewLine&, const char*)’ previously defined here
   80 | inline String operator+ (const NewLine&, const char* s2)    { return String (NewLine::getDefault()) + s2; }
      |               ^~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:178:
/usr/include/libopenshot-audio/juce_core/text/juce_String.h:38:17: error: redefinition of ‘class juce::String’
   38 | class JUCE_API  String  final
      |                 ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:234:
/usr/include/libopenshot-audio/juce_core/text/juce_String.h:38:17: note: previous definition of ‘class juce::String’
   38 | class JUCE_API  String  final
      |                 ^~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_String.h:1490:23: error: redefinition of ‘juce::String& juce::operator<<(String&, bool)’
 1490 | String& JUCE_CALLTYPE operator<< (String&, bool) = delete;
      |                       ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_String.h:1490:23: note: ‘juce::String& juce::operator<<(String&, bool)’ previously defined here
 1490 | String& JUCE_CALLTYPE operator<< (String&, bool) = delete;
      |                       ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_String.h:1525:50: error: redefinition of ‘template<class traits> std::basic_ostream<char, _Traits>& juce::operator<<(std::basic_ostream<char, _Traits>&, const String&)’
 1525 | std::basic_ostream <char, traits>& JUCE_CALLTYPE operator<< (std::basic_ostream <char, traits>& stream, const String& stringToWrite)
      |                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_String.h:1525:50: note: ‘template<class traits> std::basic_ostream<char, _Traits>& juce::operator<<(std::basic_ostream<char, _Traits>&, const String&)’ previously declared here
 1525 | std::basic_ostream <char, traits>& JUCE_CALLTYPE operator<< (std::basic_ostream <char, traits>& stream, const String& stringToWrite)
      |                                                  ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_String.h:1534:53: error: redefinition of ‘template<class traits> std::basic_ostream<wchar_t, traits>& juce::operator<<(std::basic_ostream<wchar_t, traits>&, const String&)’
 1534 | std::basic_ostream <wchar_t, traits>& JUCE_CALLTYPE operator<< (std::basic_ostream <wchar_t, traits>& stream, const String& stringToWrite)
      |                                                     ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_String.h:1534:53: note: ‘template<class traits> std::basic_ostream<wchar_t, traits>& juce::operator<<(std::basic_ostream<wchar_t, traits>&, const String&)’ previously declared here
 1534 | std::basic_ostream <wchar_t, traits>& JUCE_CALLTYPE operator<< (std::basic_ostream <wchar_t, traits>& stream, const String& stringToWrite)
      |                                                     ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_String.h:1550:24: error: redefinition of ‘struct std::hash<juce::String>’
 1550 |     template <> struct hash<juce::String>
      |                        ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_String.h:1550:24: note: previous definition of ‘struct std::hash<juce::String>’
 1550 |     template <> struct hash<juce::String>
      |                        ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:179:
/usr/include/libopenshot-audio/juce_core/text/juce_StringArray.h:34:17: error: redefinition of ‘class juce::StringArray’
   34 | class JUCE_API  StringArray
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:266:
/usr/include/libopenshot-audio/juce_core/text/juce_StringArray.h:34:17: note: previous definition of ‘class juce::StringArray’
   34 | class JUCE_API  StringArray
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:180:
/usr/include/libopenshot-audio/juce_core/text/juce_StringPairArray.h:34:17: error: redefinition of ‘class juce::StringPairArray’
   34 | class JUCE_API  StringPairArray
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:269:
/usr/include/libopenshot-audio/juce_core/text/juce_StringPairArray.h:34:17: note: previous definition of ‘class juce::StringPairArray’
   34 | class JUCE_API  StringPairArray
      |                 ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:181:
/usr/include/libopenshot-audio/juce_core/text/juce_StringPool.h:39:17: error: redefinition of ‘class juce::StringPool’
   39 | class JUCE_API  StringPool
      |                 ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:264:
/usr/include/libopenshot-audio/juce_core/text/juce_StringPool.h:39:17: note: previous definition of ‘class juce::StringPool’
   39 | class JUCE_API  StringPool
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:182:
/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h:61:17: error: redefinition of ‘class juce::StringRef’
   61 | class JUCE_API  StringRef  final
      |                 ^~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:235:
/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h:61:17: note: previous definition of ‘class juce::StringRef’
   61 | class JUCE_API  StringRef  final
      |                 ^~~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h:153:15: error: redefinition of ‘juce::String juce::operator+(String, StringRef)’
  153 | inline String operator+ (String s1, StringRef s2)           { return s1 += String (s2.text); }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h:153:15: note: ‘juce::String juce::operator+(String, StringRef)’ previously defined here
  153 | inline String operator+ (String s1, StringRef s2)           { return s1 += String (s2.text); }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h:154:15: error: redefinition of ‘juce::String juce::operator+(StringRef, const String&)’
  154 | inline String operator+ (StringRef s1, const String& s2)    { return String (s1.text) + s2; }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h:154:15: note: ‘juce::String juce::operator+(StringRef, const String&)’ previously defined here
  154 | inline String operator+ (StringRef s1, const String& s2)    { return String (s1.text) + s2; }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h:155:15: error: redefinition of ‘juce::String juce::operator+(const char*, StringRef)’
  155 | inline String operator+ (const char* s1, StringRef s2)      { return String (s1) + String (s2.text); }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h:155:15: note: ‘juce::String juce::operator+(const char*, StringRef)’ previously defined here
  155 | inline String operator+ (const char* s1, StringRef s2)      { return String (s1) + String (s2.text); }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h:156:15: error: redefinition of ‘juce::String juce::operator+(StringRef, const char*)’
  156 | inline String operator+ (StringRef s1, const char* s2)      { return String (s1.text) + String (s2); }
      |               ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/text/juce_StringRef.h:156:15: note: ‘juce::String juce::operator+(StringRef, const char*)’ previously defined here
  156 | inline String operator+ (StringRef s1, const char* s2)      { return String (s1.text) + String (s2); }
      |               ^~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:183:
/usr/include/libopenshot-audio/juce_core/text/juce_TextDiff.h:36:16: error: redefinition of ‘class juce::TextDiff’
   36 | class JUCE_API TextDiff
      |                ^~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:270:
/usr/include/libopenshot-audio/juce_core/text/juce_TextDiff.h:36:16: note: previous definition of ‘class juce::TextDiff’
   36 | class JUCE_API TextDiff
      |                ^~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:184:
/usr/include/libopenshot-audio/juce_core/threads/juce_ChildProcess.h:35:17: error: redefinition of ‘class juce::ChildProcess’
   35 | class JUCE_API  ChildProcess
      |                 ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:307:
/usr/include/libopenshot-audio/juce_core/threads/juce_ChildProcess.h:35:17: note: previous definition of ‘class juce::ChildProcess’
   35 | class JUCE_API  ChildProcess
      |                 ^~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:185:
/usr/include/libopenshot-audio/juce_core/threads/juce_CriticalSection.h:42:17: error: redefinition of ‘class juce::CriticalSection’
   42 | class JUCE_API  CriticalSection
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:247:
/usr/include/libopenshot-audio/juce_core/threads/juce_CriticalSection.h:42:17: note: previous definition of ‘class juce::CriticalSection’
   42 | class JUCE_API  CriticalSection
      |                 ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/threads/juce_CriticalSection.h:133:17: error: redefinition of ‘class juce::DummyCriticalSection’
  133 | class JUCE_API  DummyCriticalSection
      |                 ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/threads/juce_CriticalSection.h:133:17: note: previous definition of ‘class juce::DummyCriticalSection’
  133 | class JUCE_API  DummyCriticalSection
      |                 ^~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:186:
/usr/include/libopenshot-audio/juce_core/threads/juce_DynamicLibrary.h:35:17: error: redefinition of ‘class juce::DynamicLibrary’
   35 | class JUCE_API  DynamicLibrary
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:308:
/usr/include/libopenshot-audio/juce_core/threads/juce_DynamicLibrary.h:35:17: note: previous definition of ‘class juce::DynamicLibrary’
   35 | class JUCE_API  DynamicLibrary
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:187:
/usr/include/libopenshot-audio/juce_core/threads/juce_HighResolutionTimer.h:42:17: error: redefinition of ‘class juce::HighResolutionTimer’
   42 | class JUCE_API  HighResolutionTimer
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:309:
/usr/include/libopenshot-audio/juce_core/threads/juce_HighResolutionTimer.h:42:17: note: previous definition of ‘class juce::HighResolutionTimer’
   42 | class JUCE_API  HighResolutionTimer
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:188:
/usr/include/libopenshot-audio/juce_core/threads/juce_InterProcessLock.h:34:17: error: redefinition of ‘class juce::InterProcessLock’
   34 | class JUCE_API  InterProcessLock
      |                 ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:310:
/usr/include/libopenshot-audio/juce_core/threads/juce_InterProcessLock.h:34:17: note: previous definition of ‘class juce::InterProcessLock’
   34 | class JUCE_API  InterProcessLock
      |                 ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:189:
/usr/include/libopenshot-audio/juce_core/threads/juce_Process.h:36:17: error: redefinition of ‘class juce::Process’
   36 | class JUCE_API  Process
      |                 ^~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:311:
/usr/include/libopenshot-audio/juce_core/threads/juce_Process.h:36:17: note: previous definition of ‘class juce::Process’
   36 | class JUCE_API  Process
      |                 ^~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:190:
/usr/include/libopenshot-audio/juce_core/threads/juce_ReadWriteLock.h:47:17: error: redefinition of ‘class juce::ReadWriteLock’
   47 | class JUCE_API  ReadWriteLock
      |                 ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:318:
/usr/include/libopenshot-audio/juce_core/threads/juce_ReadWriteLock.h:47:17: note: previous definition of ‘class juce::ReadWriteLock’
   47 | class JUCE_API  ReadWriteLock
      |                 ^~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:191:
/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedLock.h:54:7: error: redefinition of ‘class juce::GenericScopedLock<LockType>’
   54 | class GenericScopedLock
      |       ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:246:
/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedLock.h:54:7: note: previous definition of ‘class juce::GenericScopedLock<LockType>’
   54 | class GenericScopedLock
      |       ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedLock.h:125:7: error: redefinition of ‘class juce::GenericScopedUnlock<LockType>’
  125 | class GenericScopedUnlock
      |       ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedLock.h:125:7: note: previous definition of ‘class juce::GenericScopedUnlock<LockType>’
  125 | class GenericScopedUnlock
      |       ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedLock.h:197:7: error: redefinition of ‘class juce::GenericScopedTryLock<LockType>’
  197 | class GenericScopedTryLock
      |       ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedLock.h:197:7: note: previous definition of ‘class juce::GenericScopedTryLock<LockType>’
  197 | class GenericScopedTryLock
      |       ^~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:192:
/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedReadLock.h:51:17: error: redefinition of ‘class juce::ScopedReadLock’
   51 | class JUCE_API  ScopedReadLock
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:319:
/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedReadLock.h:51:17: note: previous definition of ‘class juce::ScopedReadLock’
   51 | class JUCE_API  ScopedReadLock
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:193:
/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedWriteLock.h:51:17: error: redefinition of ‘class juce::ScopedWriteLock’
   51 | class JUCE_API  ScopedWriteLock
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:320:
/usr/include/libopenshot-audio/juce_core/threads/juce_ScopedWriteLock.h:51:17: note: previous definition of ‘class juce::ScopedWriteLock’
   51 | class JUCE_API  ScopedWriteLock
      |                 ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:194:
/usr/include/libopenshot-audio/juce_core/threads/juce_SpinLock.h:41:17: error: redefinition of ‘class juce::SpinLock’
   41 | class JUCE_API  SpinLock
      |                 ^~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:312:
/usr/include/libopenshot-audio/juce_core/threads/juce_SpinLock.h:41:17: note: previous definition of ‘class juce::SpinLock’
   41 | class JUCE_API  SpinLock
      |                 ^~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:195:
/usr/include/libopenshot-audio/juce_core/threads/juce_Thread.h:42:17: error: redefinition of ‘class juce::Thread’
   42 | class JUCE_API  Thread
      |                 ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:314:
/usr/include/libopenshot-audio/juce_core/threads/juce_Thread.h:42:17: note: previous definition of ‘class juce::Thread’
   42 | class JUCE_API  Thread
      |                 ^~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:196:
/usr/include/libopenshot-audio/juce_core/threads/juce_ThreadLocalValue.h:47:7: error: redefinition of ‘class juce::ThreadLocalValue<Type>’
   47 | class ThreadLocalValue
      |       ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:315:
/usr/include/libopenshot-audio/juce_core/threads/juce_ThreadLocalValue.h:47:7: note: previous definition of ‘class juce::ThreadLocalValue<Type>’
   47 | class ThreadLocalValue
      |       ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:197:
/usr/include/libopenshot-audio/juce_core/threads/juce_ThreadPool.h:44:17: error: redefinition of ‘class juce::ThreadPoolJob’
   44 | class JUCE_API  ThreadPoolJob
      |                 ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:316:
/usr/include/libopenshot-audio/juce_core/threads/juce_ThreadPool.h:44:17: note: previous definition of ‘class juce::ThreadPoolJob’
   44 | class JUCE_API  ThreadPoolJob
      |                 ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/threads/juce_ThreadPool.h:155:17: error: redefinition of ‘class juce::ThreadPool’
  155 | class JUCE_API  ThreadPool
      |                 ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/threads/juce_ThreadPool.h:155:17: note: previous definition of ‘class juce::ThreadPool’
  155 | class JUCE_API  ThreadPool
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:198:
/usr/include/libopenshot-audio/juce_core/threads/juce_TimeSliceThread.h:43:17: error: redefinition of ‘class juce::TimeSliceClient’
   43 | class JUCE_API  TimeSliceClient
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:317:
/usr/include/libopenshot-audio/juce_core/threads/juce_TimeSliceThread.h:43:17: note: previous definition of ‘class juce::TimeSliceClient’
   43 | class JUCE_API  TimeSliceClient
      |                 ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/threads/juce_TimeSliceThread.h:82:17: error: redefinition of ‘class juce::TimeSliceThread’
   82 | class JUCE_API  TimeSliceThread   : public Thread
      |                 ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/threads/juce_TimeSliceThread.h:82:17: note: previous definition of ‘class juce::TimeSliceThread’
   82 | class JUCE_API  TimeSliceThread   : public Thread
      |                 ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:199:
/usr/include/libopenshot-audio/juce_core/threads/juce_WaitableEvent.h:35:17: error: redefinition of ‘class juce::WaitableEvent’
   35 | class JUCE_API  WaitableEvent
      |                 ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:313:
/usr/include/libopenshot-audio/juce_core/threads/juce_WaitableEvent.h:35:17: note: previous definition of ‘class juce::WaitableEvent’
   35 | class JUCE_API  WaitableEvent
      |                 ^~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:200:
/usr/include/libopenshot-audio/juce_core/time/juce_PerformanceCounter.h:49:17: error: redefinition of ‘class juce::PerformanceCounter’
   49 | class JUCE_API  PerformanceCounter
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:328:
/usr/include/libopenshot-audio/juce_core/time/juce_PerformanceCounter.h:49:17: note: previous definition of ‘class juce::PerformanceCounter’
   49 | class JUCE_API  PerformanceCounter
      |                 ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/time/juce_PerformanceCounter.h:143:17: error: redefinition of ‘class juce::ScopedTimeMeasurement’
  143 | class JUCE_API  ScopedTimeMeasurement
      |                 ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/time/juce_PerformanceCounter.h:143:17: note: previous definition of ‘class juce::ScopedTimeMeasurement’
  143 | class JUCE_API  ScopedTimeMeasurement
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:201:
/usr/include/libopenshot-audio/juce_core/time/juce_RelativeTime.h:36:17: error: redefinition of ‘class juce::RelativeTime’
   36 | class JUCE_API  RelativeTime
      |                 ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:280:
/usr/include/libopenshot-audio/juce_core/time/juce_RelativeTime.h:36:17: note: previous definition of ‘class juce::RelativeTime’
   36 | class JUCE_API  RelativeTime
      |                 ^~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:202:
/usr/include/libopenshot-audio/juce_core/time/juce_Time.h:36:17: error: redefinition of ‘class juce::Time’
   36 | class JUCE_API  Time
      |                 ^~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:281:
/usr/include/libopenshot-audio/juce_core/time/juce_Time.h:36:17: note: previous definition of ‘class juce::Time’
   36 | class JUCE_API  Time
      |                 ^~~~
In file included from /tmp/ix0IlalA8K/dump1.h:203:
/usr/include/libopenshot-audio/juce_core/unit_tests/juce_UnitTest.h:69:17: error: redefinition of ‘class juce::UnitTest’
   69 | class JUCE_API  UnitTest
      |                 ^~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:329:
/usr/include/libopenshot-audio/juce_core/unit_tests/juce_UnitTest.h:69:17: note: previous definition of ‘class juce::UnitTest’
   69 | class JUCE_API  UnitTest
      |                 ^~~~~~~~
/usr/include/libopenshot-audio/juce_core/unit_tests/juce_UnitTest.h:324:17: error: redefinition of ‘class juce::UnitTestRunner’
  324 | class JUCE_API  UnitTestRunner
      |                 ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_core/unit_tests/juce_UnitTest.h:324:17: note: previous definition of ‘class juce::UnitTestRunner’
  324 | class JUCE_API  UnitTestRunner
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:205:
/usr/include/libopenshot-audio/juce_core/xml/juce_XmlDocument.h:63:17: error: redefinition of ‘class juce::XmlDocument’
   63 | class JUCE_API  XmlDocument
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:330:
/usr/include/libopenshot-audio/juce_core/xml/juce_XmlDocument.h:63:17: note: previous definition of ‘class juce::XmlDocument’
   63 | class JUCE_API  XmlDocument
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:206:
/usr/include/libopenshot-audio/juce_core/xml/juce_XmlElement.h:137:17: error: redefinition of ‘class juce::XmlElement’
  137 | class JUCE_API  XmlElement
      |                 ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:331:
/usr/include/libopenshot-audio/juce_core/xml/juce_XmlElement.h:137:17: note: previous definition of ‘class juce::XmlElement’
  137 | class JUCE_API  XmlElement
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:207:
/usr/include/libopenshot-audio/juce_core/zip/juce_GZIPCompressorOutputStream.h:38:17: error: redefinition of ‘class juce::GZIPCompressorOutputStream’
   38 | class JUCE_API  GZIPCompressorOutputStream  : public OutputStream
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:332:
/usr/include/libopenshot-audio/juce_core/zip/juce_GZIPCompressorOutputStream.h:38:17: note: previous definition of ‘class juce::GZIPCompressorOutputStream’
   38 | class JUCE_API  GZIPCompressorOutputStream  : public OutputStream
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:208:
/usr/include/libopenshot-audio/juce_core/zip/juce_GZIPDecompressorInputStream.h:38:17: error: redefinition of ‘class juce::GZIPDecompressorInputStream’
   38 | class JUCE_API  GZIPDecompressorInputStream  : public InputStream
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:333:
/usr/include/libopenshot-audio/juce_core/zip/juce_GZIPDecompressorInputStream.h:38:17: note: previous definition of ‘class juce::GZIPDecompressorInputStream’
   38 | class JUCE_API  GZIPDecompressorInputStream  : public InputStream
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:209:
/usr/include/libopenshot-audio/juce_core/zip/juce_ZipFile.h:35:17: error: redefinition of ‘class juce::ZipFile’
   35 | class JUCE_API  ZipFile
      |                 ^~~~~~~
In file included from /usr/include/libopenshot-audio/juce_core/juce_core.h:334:
/usr/include/libopenshot-audio/juce_core/zip/juce_ZipFile.h:35:17: note: previous definition of ‘class juce::ZipFile’
   35 | class JUCE_API  ZipFile
      |                 ^~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:210:
/usr/include/libopenshot-audio/juce_data_structures/app_properties/juce_ApplicationProperties.h:51:17: error: redefinition of ‘class juce::ApplicationProperties’
   51 | class JUCE_API  ApplicationProperties
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_data_structures/juce_data_structures.h:66,
                 from /usr/include/libopenshot-audio/./OpenShotAudio.h:22:
/usr/include/libopenshot-audio/juce_data_structures/app_properties/juce_ApplicationProperties.h:51:17: note: previous definition of ‘class juce::ApplicationProperties’
   51 | class JUCE_API  ApplicationProperties
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:211:
/usr/include/libopenshot-audio/juce_data_structures/app_properties/juce_PropertiesFile.h:46:17: error: redefinition of ‘class juce::PropertiesFile’
   46 | class JUCE_API  PropertiesFile  : public PropertySet,
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_data_structures/juce_data_structures.h:65:
/usr/include/libopenshot-audio/juce_data_structures/app_properties/juce_PropertiesFile.h:46:17: note: previous definition of ‘class juce::PropertiesFile’
   46 | class JUCE_API  PropertiesFile  : public PropertySet,
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:213:
/usr/include/libopenshot-audio/juce_data_structures/undomanager/juce_UndoManager.h:52:17: error: redefinition of ‘class juce::UndoManager’
   52 | class JUCE_API  UndoManager  : public ChangeBroadcaster
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_data_structures/juce_data_structures.h:59:
/usr/include/libopenshot-audio/juce_data_structures/undomanager/juce_UndoManager.h:52:17: note: previous definition of ‘class juce::UndoManager’
   52 | class JUCE_API  UndoManager  : public ChangeBroadcaster
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:214:
/usr/include/libopenshot-audio/juce_data_structures/undomanager/juce_UndoableAction.h:39:17: error: redefinition of ‘class juce::UndoableAction’
   39 | class JUCE_API  UndoableAction
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_data_structures/juce_data_structures.h:58:
/usr/include/libopenshot-audio/juce_data_structures/undomanager/juce_UndoableAction.h:39:17: note: previous definition of ‘class juce::UndoableAction’
   39 | class JUCE_API  UndoableAction
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:215:
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:59:7: error: redefinition of ‘class juce::CachedValue<Type>’
   59 | class CachedValue   : private ValueTree::Listener
      |       ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_data_structures/juce_data_structures.h:63:
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:59:7: note: previous definition of ‘class juce::CachedValue<Type>’
   59 | class CachedValue   : private ValueTree::Listener
      |       ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:209:8: error: definition of explicitly-defaulted ‘juce::CachedValue<Type>::CachedValue()’
  209 | inline CachedValue<Type>::CachedValue() = default;
      |        ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:209:8: note: ‘juce::CachedValue<Type>::CachedValue()’ explicitly defaulted here
  209 | inline CachedValue<Type>::CachedValue() = default;
      |        ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:212:8: error: redefinition of ‘juce::CachedValue<Type>::CachedValue(juce::ValueTree&, const juce::Identifier&, juce::UndoManager*)’
  212 | inline CachedValue<Type>::CachedValue (ValueTree& v, const Identifier& i, UndoManager* um)
      |        ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:212:8: note: ‘juce::CachedValue<Type>::CachedValue(juce::ValueTree&, const juce::Identifier&, juce::UndoManager*)’ previously declared here
  212 | inline CachedValue<Type>::CachedValue (ValueTree& v, const Identifier& i, UndoManager* um)
      |        ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:220:8: error: redefinition of ‘juce::CachedValue<Type>::CachedValue(juce::ValueTree&, const juce::Identifier&, juce::UndoManager*, const Type&)’
  220 | inline CachedValue<Type>::CachedValue (ValueTree& v, const Identifier& i, UndoManager* um, const Type& defaultToUse)
      |        ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:220:8: note: ‘juce::CachedValue<Type>::CachedValue(juce::ValueTree&, const juce::Identifier&, juce::UndoManager*, const Type&)’ previously declared here
  220 | inline CachedValue<Type>::CachedValue (ValueTree& v, const Identifier& i, UndoManager* um, const Type& defaultToUse)
      |        ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:228:14: error: redefinition of ‘juce::Value juce::CachedValue<Type>::getPropertyAsValue()’
  228 | inline Value CachedValue<Type>::getPropertyAsValue()
      |              ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:228:14: note: ‘juce::Value juce::CachedValue<Type>::getPropertyAsValue()’ previously declared here
  228 | inline Value CachedValue<Type>::getPropertyAsValue()
      |              ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:234:13: error: redefinition of ‘bool juce::CachedValue<Type>::isUsingDefault() const’
  234 | inline bool CachedValue<Type>::isUsingDefault() const
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:234:13: note: ‘bool juce::CachedValue<Type>::isUsingDefault() const’ previously declared here
  234 | inline bool CachedValue<Type>::isUsingDefault() const
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:240:27: error: redefinition of ‘juce::CachedValue<Type>& juce::CachedValue<Type>::operator=(const Type&)’
  240 | inline CachedValue<Type>& CachedValue<Type>::operator= (const Type& newValue)
      |                           ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:240:27: note: ‘juce::CachedValue<Type>& juce::CachedValue<Type>::operator=(const Type&)’ previously declared here
  240 | inline CachedValue<Type>& CachedValue<Type>::operator= (const Type& newValue)
      |                           ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:247:13: error: redefinition of ‘void juce::CachedValue<Type>::setValue(const Type&, juce::UndoManager*)’
  247 | inline void CachedValue<Type>::setValue (const Type& newValue, UndoManager* undoManagerToUse)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:247:13: note: ‘void juce::CachedValue<Type>::setValue(const Type&, juce::UndoManager*)’ previously declared here
  247 | inline void CachedValue<Type>::setValue (const Type& newValue, UndoManager* undoManagerToUse)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:257:13: error: redefinition of ‘void juce::CachedValue<Type>::resetToDefault()’
  257 | inline void CachedValue<Type>::resetToDefault()
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:257:13: note: ‘void juce::CachedValue<Type>::resetToDefault()’ previously declared here
  257 | inline void CachedValue<Type>::resetToDefault()
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:263:13: error: redefinition of ‘void juce::CachedValue<Type>::resetToDefault(juce::UndoManager*)’
  263 | inline void CachedValue<Type>::resetToDefault (UndoManager* undoManagerToUse)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:263:13: note: ‘void juce::CachedValue<Type>::resetToDefault(juce::UndoManager*)’ previously declared here
  263 | inline void CachedValue<Type>::resetToDefault (UndoManager* undoManagerToUse)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:270:13: error: redefinition of ‘void juce::CachedValue<Type>::referTo(juce::ValueTree&, const juce::Identifier&, juce::UndoManager*)’
  270 | inline void CachedValue<Type>::referTo (ValueTree& v, const Identifier& i, UndoManager* um)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:270:13: note: ‘void juce::CachedValue<Type>::referTo(juce::ValueTree&, const juce::Identifier&, juce::UndoManager*)’ previously declared here
  270 | inline void CachedValue<Type>::referTo (ValueTree& v, const Identifier& i, UndoManager* um)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:276:13: error: redefinition of ‘void juce::CachedValue<Type>::referTo(juce::ValueTree&, const juce::Identifier&, juce::UndoManager*, const Type&)’
  276 | inline void CachedValue<Type>::referTo (ValueTree& v, const Identifier& i, UndoManager* um, const Type& defaultVal)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:276:13: note: ‘void juce::CachedValue<Type>::referTo(juce::ValueTree&, const juce::Identifier&, juce::UndoManager*, const Type&)’ previously declared here
  276 | inline void CachedValue<Type>::referTo (ValueTree& v, const Identifier& i, UndoManager* um, const Type& defaultVal)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:282:13: error: redefinition of ‘void juce::CachedValue<Type>::forceUpdateOfCachedValue()’
  282 | inline void CachedValue<Type>::forceUpdateOfCachedValue()
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:282:13: note: ‘void juce::CachedValue<Type>::forceUpdateOfCachedValue()’ previously declared here
  282 | inline void CachedValue<Type>::forceUpdateOfCachedValue()
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:288:13: error: redefinition of ‘void juce::CachedValue<Type>::referToWithDefault(juce::ValueTree&, const juce::Identifier&, juce::UndoManager*, const Type&)’
  288 | inline void CachedValue<Type>::referToWithDefault (ValueTree& v, const Identifier& i, UndoManager* um, const Type& defaultVal)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:288:13: note: ‘void juce::CachedValue<Type>::referToWithDefault(juce::ValueTree&, const juce::Identifier&, juce::UndoManager*, const Type&)’ previously declared here
  288 | inline void CachedValue<Type>::referToWithDefault (ValueTree& v, const Identifier& i, UndoManager* um, const Type& defaultVal)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:300:13: error: redefinition of ‘Type juce::CachedValue<Type>::getTypedValue() const’
  300 | inline Type CachedValue<Type>::getTypedValue() const
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:300:13: note: ‘Type juce::CachedValue<Type>::getTypedValue() const’ previously declared here
  300 | inline Type CachedValue<Type>::getTypedValue() const
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:309:13: error: redefinition of ‘void juce::CachedValue<Type>::valueTreePropertyChanged(juce::ValueTree&, const juce::Identifier&)’
  309 | inline void CachedValue<Type>::valueTreePropertyChanged (ValueTree& changedTree, const Identifier& changedProperty)
      |             ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_data_structures/values/juce_CachedValue.h:309:13: note: ‘void juce::CachedValue<Type>::valueTreePropertyChanged(juce::ValueTree&, const juce::Identifier&)’ previously declared here
  309 | inline void CachedValue<Type>::valueTreePropertyChanged (ValueTree& changedTree, const Identifier& changedProperty)
      |             ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:216:
/usr/include/libopenshot-audio/juce_data_structures/values/juce_Value.h:51:17: error: redefinition of ‘class juce::Value’
   51 | class JUCE_API  Value  final
      |                 ^~~~~
In file included from /usr/include/libopenshot-audio/juce_data_structures/juce_data_structures.h:60:
/usr/include/libopenshot-audio/juce_data_structures/values/juce_Value.h:51:17: note: previous definition of ‘class juce::Value’
   51 | class JUCE_API  Value  final
      |                 ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:217:
/usr/include/libopenshot-audio/juce_data_structures/values/juce_ValueTree.h:72:17: error: redefinition of ‘class juce::ValueTree’
   72 | class JUCE_API  ValueTree  final
      |                 ^~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_data_structures/juce_data_structures.h:61:
/usr/include/libopenshot-audio/juce_data_structures/values/juce_ValueTree.h:72:17: note: previous definition of ‘class juce::ValueTree’
   72 | class JUCE_API  ValueTree  final
      |                 ^~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:218:
/usr/include/libopenshot-audio/juce_data_structures/values/juce_ValueTreeSynchroniser.h:46:17: error: redefinition of ‘class juce::ValueTreeSynchroniser’
   46 | class JUCE_API  ValueTreeSynchroniser  : private ValueTree::Listener
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_data_structures/juce_data_structures.h:62:
/usr/include/libopenshot-audio/juce_data_structures/values/juce_ValueTreeSynchroniser.h:46:17: note: previous definition of ‘class juce::ValueTreeSynchroniser’
   46 | class JUCE_API  ValueTreeSynchroniser  : private ValueTree::Listener
      |                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:219:
/usr/include/libopenshot-audio/juce_data_structures/values/juce_ValueWithDefault.h:39:7: error: redefinition of ‘class juce::ValueWithDefault’
   39 | class ValueWithDefault
      |       ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_data_structures/juce_data_structures.h:64:
/usr/include/libopenshot-audio/juce_data_structures/values/juce_ValueWithDefault.h:39:7: note: previous definition of ‘class juce::ValueWithDefault’
   39 | class ValueWithDefault
      |       ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:220:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_AudioBlock.h:35:61: error: redefinition of default argument for ‘bool <anonymous>’
   35 |     template <typename T, bool = std::is_floating_point<T>::value>
      |                                                             ^~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:255,
                 from /usr/include/libopenshot-audio/./OpenShotAudio.h:23:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_AudioBlock.h:35:61: note: original definition appeared here
   35 |     template <typename T, bool = std::is_floating_point<T>::value>
      |                                                             ^~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_AudioBlock.h:42:12: error: redefinition of ‘struct juce::dsp::SampleTypeHelpers::ElementType<T, false>’
   42 |     struct ElementType<T, false>
      |            ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_AudioBlock.h:42:12: note: previous definition of ‘struct juce::dsp::SampleTypeHelpers::ElementType<T, false>’
   42 |     struct ElementType<T, false>
      |            ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_AudioBlock.h:64:7: error: redefinition of ‘class juce::dsp::AudioBlock<SampleType>’
   64 | class AudioBlock
      |       ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_AudioBlock.h:64:7: note: previous definition of ‘class juce::dsp::AudioBlock<SampleType>’
   64 | class AudioBlock
      |       ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:221:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:74:31: error: ‘SIMDInternal’ has not been declared
   74 |     using MaskType = typename SIMDInternal::MaskTypeFor<ElementType>::type;
      |                               ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:80:36: error: ‘SIMDInternal’ has not been declared
   80 |     using PrimitiveType = typename SIMDInternal::PrimitiveType<ElementType>::type;
      |                                    ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:83:23: error: ‘SIMDNativeOps’ does not name a type
   83 |     using NativeOps = SIMDNativeOps<PrimitiveType>;
      |                       ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:86:32: error: ‘NativeOps’ has not been declared
   86 |     using vSIMDType = typename NativeOps::vSIMDType;
      |                                ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:89:36: error: ‘MaskType’ was not declared in this scope
   89 |     using vMaskType = SIMDRegister<MaskType>;
      |                                    ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:89:44: error: template argument 1 is invalid
   89 |     using vMaskType = SIMDRegister<MaskType>;
      |                                            ^
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:92:36: error: ‘vMaskType’ has not been declared
   92 |     using vMaskSIMDType = typename vMaskType::vSIMDType;
      |                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:104:56: error: ‘vSIMDType’ was not declared in this scope
  104 |     static constexpr size_t SIMDRegisterSize = sizeof (vSIMDType);
      |                                                        ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:109:5: error: ‘vSIMDType’ does not name a type
  109 |     vSIMDType value;
      |     ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:115:35: error: expected ‘)’ before ‘a’
  115 |     inline SIMDRegister (vSIMDType a) noexcept : value (a) {}
      |                         ~         ^~
      |                                   )
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:134:65: error: ‘vSIMDType’ has not been declared
  134 |     inline static SIMDRegister JUCE_VECTOR_CALLTYPE fromNative (vSIMDType a) noexcept       { return {a}; }
      |                                                                 ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:208:59: error: ‘vMaskType’ has not been declared
  208 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator&= (vMaskType v) noexcept         { value = NativeOps::bit_and (value, toVecType (v.value)); return *this; }
      |                                                           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:211:59: error: ‘vMaskType’ has not been declared
  211 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator|= (vMaskType v) noexcept         { value = NativeOps::bit_or  (value, toVecType (v.value)); return *this; }
      |                                                           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:214:59: error: ‘vMaskType’ has not been declared
  214 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator^= (vMaskType v) noexcept         { value = NativeOps::bit_xor (value, toVecType (v.value)); return *this; }
      |                                                           ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:218:59: error: ‘MaskType’ has not been declared
  218 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator&= (MaskType s) noexcept           { value = NativeOps::bit_and (value, toVecType (s)); return *this; }
      |                                                           ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:218:47: error: ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator&=(int)’ cannot be overloaded with ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator&=(int)’
  218 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator&= (MaskType s) noexcept           { value = NativeOps::bit_and (value, toVecType (s)); return *this; }
      |                                               ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:208:47: note: previous declaration ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator&=(int)’
  208 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator&= (vMaskType v) noexcept         { value = NativeOps::bit_and (value, toVecType (v.value)); return *this; }
      |                                               ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:221:59: error: ‘MaskType’ has not been declared
  221 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator|= (MaskType s) noexcept           { value = NativeOps::bit_or  (value, toVecType (s)); return *this; }
      |                                                           ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:221:47: error: ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator|=(int)’ cannot be overloaded with ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator|=(int)’
  221 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator|= (MaskType s) noexcept           { value = NativeOps::bit_or  (value, toVecType (s)); return *this; }
      |                                               ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:211:47: note: previous declaration ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator|=(int)’
  211 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator|= (vMaskType v) noexcept         { value = NativeOps::bit_or  (value, toVecType (v.value)); return *this; }
      |                                               ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:224:59: error: ‘MaskType’ has not been declared
  224 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator^= (MaskType s) noexcept           { value = NativeOps::bit_xor (value, toVecType (s)); return *this; }
      |                                                           ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:224:47: error: ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator^=(int)’ cannot be overloaded with ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator^=(int)’
  224 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator^= (MaskType s) noexcept           { value = NativeOps::bit_xor (value, toVecType (s)); return *this; }
      |                                               ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:214:47: note: previous declaration ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator^=(int)’
  214 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator^= (vMaskType v) noexcept         { value = NativeOps::bit_xor (value, toVecType (v.value)); return *this; }
      |                                               ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:248:57: error: ‘vMaskType’ has not been declared
  248 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator& (vMaskType v) const noexcept     { return { NativeOps::bit_and (value, toVecType (v.value)) }; }
      |                                                         ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:251:57: error: ‘vMaskType’ has not been declared
  251 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator| (vMaskType v) const noexcept     { return { NativeOps::bit_or  (value, toVecType (v.value)) }; }
      |                                                         ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:254:57: error: ‘vMaskType’ has not been declared
  254 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator^ (vMaskType v) const noexcept     { return { NativeOps::bit_xor (value, toVecType (v.value)) }; }
      |                                                         ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:261:57: error: ‘MaskType’ has not been declared
  261 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator& (MaskType s) const noexcept      { return { NativeOps::bit_and (value, toVecType (s)) }; }
      |                                                         ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:261:46: error: ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator&(int) const’ cannot be overloaded with ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator&(int) const’
  261 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator& (MaskType s) const noexcept      { return { NativeOps::bit_and (value, toVecType (s)) }; }
      |                                              ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:248:46: note: previous declaration ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator&(int) const’
  248 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator& (vMaskType v) const noexcept     { return { NativeOps::bit_and (value, toVecType (v.value)) }; }
      |                                              ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:264:57: error: ‘MaskType’ has not been declared
  264 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator| (MaskType s) const noexcept      { return { NativeOps::bit_or  (value, toVecType (s)) }; }
      |                                                         ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:264:46: error: ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator|(int) const’ cannot be overloaded with ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator|(int) const’
  264 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator| (MaskType s) const noexcept      { return { NativeOps::bit_or  (value, toVecType (s)) }; }
      |                                              ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:251:46: note: previous declaration ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator|(int) const’
  251 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator| (vMaskType v) const noexcept     { return { NativeOps::bit_or  (value, toVecType (v.value)) }; }
      |                                              ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:267:57: error: ‘MaskType’ has not been declared
  267 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator^ (MaskType s) const noexcept      { return { NativeOps::bit_xor (value, toVecType (s)) }; }
      |                                                         ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:267:46: error: ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator^(int) const’ cannot be overloaded with ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator^(int) const’
  267 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator^ (MaskType s) const noexcept      { return { NativeOps::bit_xor (value, toVecType (s)) }; }
      |                                              ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:254:46: note: previous declaration ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator^(int) const’
  254 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator^ (vMaskType v) const noexcept     { return { NativeOps::bit_xor (value, toVecType (v.value)) }; }
      |                                              ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:286:19: error: ‘vMaskType’ does not name a type
  286 |     static inline vMaskType JUCE_VECTOR_CALLTYPE equal              (SIMDRegister a, SIMDRegister b) noexcept { return toMaskType (NativeOps::equal (a.value, b.value)); }
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:291:19: error: ‘vMaskType’ does not name a type
  291 |     static inline vMaskType JUCE_VECTOR_CALLTYPE notEqual           (SIMDRegister a, SIMDRegister b) noexcept { return toMaskType (NativeOps::notEqual (a.value, b.value)); }
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:296:19: error: ‘vMaskType’ does not name a type
  296 |     static inline vMaskType JUCE_VECTOR_CALLTYPE lessThan           (SIMDRegister a, SIMDRegister b) noexcept { return toMaskType (NativeOps::greaterThan (b.value, a.value)); }
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:301:19: error: ‘vMaskType’ does not name a type
  301 |     static inline vMaskType JUCE_VECTOR_CALLTYPE lessThanOrEqual    (SIMDRegister a, SIMDRegister b) noexcept { return toMaskType (NativeOps::greaterThanOrEqual (b.value, a.value)); }
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:306:19: error: ‘vMaskType’ does not name a type
  306 |     static inline vMaskType JUCE_VECTOR_CALLTYPE greaterThan        (SIMDRegister a, SIMDRegister b) noexcept { return toMaskType (NativeOps::greaterThan (a.value, b.value)); }
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:311:19: error: ‘vMaskType’ does not name a type
  311 |     static inline vMaskType JUCE_VECTOR_CALLTYPE greaterThanOrEqual (SIMDRegister a, SIMDRegister b) noexcept { return toMaskType (NativeOps::greaterThanOrEqual (a.value, b.value)); }
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:362:19: error: ‘vMaskType’ does not name a type
  362 |     static inline vMaskType JUCE_VECTOR_CALLTYPE toMaskType (vSIMDType a) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:374:19: error: ‘vSIMDType’ does not name a type
  374 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE toVecType (vMaskSIMDType a) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:386:19: error: ‘vSIMDType’ does not name a type
  386 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE toVecType (MaskType a) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘void juce::dsp::SIMDRegister<Type>::copyToRawArray(ElementType*) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:147:26: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  147 |         CmplxOps::store (value, a);
      |                          ^~~~~
      |                          Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>::ElementType juce::dsp::SIMDRegister<Type>::get(size_t) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:156:31: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  156 |         return CmplxOps::get (value, idx);
      |                               ^~~~~
      |                               Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘void juce::dsp::SIMDRegister<Type>::set(size_t, ElementType)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:164:9: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  164 |         value = CmplxOps::set (value, idx, v);
      |         ^~~~~
      |         Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator+=(juce::dsp::SIMDRegister<Type>)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:185:91: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  185 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator+= (SIMDRegister v) noexcept      { value = NativeOps::add (value, v.value); return *this; }
      |                                                                                           ^~~~~
      |                                                                                           Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:185:99: error: ‘NativeOps’ has not been declared
  185 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator+= (SIMDRegister v) noexcept      { value = NativeOps::add (value, v.value); return *this; }
      |                                                                                                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator-=(juce::dsp::SIMDRegister<Type>)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:188:91: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  188 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator-= (SIMDRegister v) noexcept      { value = NativeOps::sub (value, v.value); return *this; }
      |                                                                                           ^~~~~
      |                                                                                           Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:188:99: error: ‘NativeOps’ has not been declared
  188 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator-= (SIMDRegister v) noexcept      { value = NativeOps::sub (value, v.value); return *this; }
      |                                                                                                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator*=(juce::dsp::SIMDRegister<Type>)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:191:91: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  191 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator*= (SIMDRegister v) noexcept      { value = CmplxOps::mul (value, v.value); return *this; }
      |                                                                                           ^~~~~
      |                                                                                           Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator=(ElementType)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:195:91: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  195 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator=  (ElementType s) noexcept       { value  = CmplxOps::expand (s); return *this; }
      |                                                                                           ^~~~~
      |                                                                                           Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator+=(ElementType)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:198:91: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  198 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator+= (ElementType s) noexcept       { value = NativeOps::add (value, CmplxOps::expand (s)); return *this; }
      |                                                                                           ^~~~~
      |                                                                                           Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:198:99: error: ‘NativeOps’ has not been declared
  198 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator+= (ElementType s) noexcept       { value = NativeOps::add (value, CmplxOps::expand (s)); return *this; }
      |                                                                                                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator-=(ElementType)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:201:91: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  201 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator-= (ElementType s) noexcept       { value = NativeOps::sub (value, CmplxOps::expand (s)); return *this; }
      |                                                                                           ^~~~~
      |                                                                                           Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:201:99: error: ‘NativeOps’ has not been declared
  201 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator-= (ElementType s) noexcept       { value = NativeOps::sub (value, CmplxOps::expand (s)); return *this; }
      |                                                                                                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator*=(ElementType)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:204:91: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  204 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator*= (ElementType s) noexcept       { value = CmplxOps::mul (value, CmplxOps::expand (s)); return *this; }
      |                                                                                           ^~~~~
      |                                                                                           Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator&=(int)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:208:91: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  208 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator&= (vMaskType v) noexcept         { value = NativeOps::bit_and (value, toVecType (v.value)); return *this; }
      |                                                                                           ^~~~~
      |                                                                                           Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:208:99: error: ‘NativeOps’ has not been declared
  208 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator&= (vMaskType v) noexcept         { value = NativeOps::bit_and (value, toVecType (v.value)); return *this; }
      |                                                                                                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:208:139: error: request for member ‘value’ in ‘v’, which is of non-class type ‘int’
  208 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator&= (vMaskType v) noexcept         { value = NativeOps::bit_and (value, toVecType (v.value)); return *this; }
      |                                                                                                                                           ^~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator|=(int)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:211:91: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  211 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator|= (vMaskType v) noexcept         { value = NativeOps::bit_or  (value, toVecType (v.value)); return *this; }
      |                                                                                           ^~~~~
      |                                                                                           Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:211:99: error: ‘NativeOps’ has not been declared
  211 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator|= (vMaskType v) noexcept         { value = NativeOps::bit_or  (value, toVecType (v.value)); return *this; }
      |                                                                                                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:211:139: error: request for member ‘value’ in ‘v’, which is of non-class type ‘int’
  211 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator|= (vMaskType v) noexcept         { value = NativeOps::bit_or  (value, toVecType (v.value)); return *this; }
      |                                                                                                                                           ^~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator^=(int)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:214:91: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  214 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator^= (vMaskType v) noexcept         { value = NativeOps::bit_xor (value, toVecType (v.value)); return *this; }
      |                                                                                           ^~~~~
      |                                                                                           Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:214:99: error: ‘NativeOps’ has not been declared
  214 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator^= (vMaskType v) noexcept         { value = NativeOps::bit_xor (value, toVecType (v.value)); return *this; }
      |                                                                                                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:214:139: error: request for member ‘value’ in ‘v’, which is of non-class type ‘int’
  214 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator^= (vMaskType v) noexcept         { value = NativeOps::bit_xor (value, toVecType (v.value)); return *this; }
      |                                                                                                                                           ^~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator&=(int)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:218:92: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  218 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator&= (MaskType s) noexcept           { value = NativeOps::bit_and (value, toVecType (s)); return *this; }
      |                                                                                            ^~~~~
      |                                                                                            Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:218:100: error: ‘NativeOps’ has not been declared
  218 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator&= (MaskType s) noexcept           { value = NativeOps::bit_and (value, toVecType (s)); return *this; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator|=(int)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:221:92: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  221 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator|= (MaskType s) noexcept           { value = NativeOps::bit_or  (value, toVecType (s)); return *this; }
      |                                                                                            ^~~~~
      |                                                                                            Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:221:100: error: ‘NativeOps’ has not been declared
  221 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator|= (MaskType s) noexcept           { value = NativeOps::bit_or  (value, toVecType (s)); return *this; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>& juce::dsp::SIMDRegister<Type>::operator^=(int)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:224:92: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  224 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator^= (MaskType s) noexcept           { value = NativeOps::bit_xor (value, toVecType (s)); return *this; }
      |                                                                                            ^~~~~
      |                                                                                            Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:224:100: error: ‘NativeOps’ has not been declared
  224 |     inline SIMDRegister& JUCE_VECTOR_CALLTYPE operator^= (MaskType s) noexcept           { value = NativeOps::bit_xor (value, toVecType (s)); return *this; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator+(juce::dsp::SIMDRegister<Type>) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:228:100: error: ‘NativeOps’ has not been declared
  228 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator+ (SIMDRegister v) const noexcept  { return { NativeOps::add (value, v.value) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:228:116: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  228 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator+ (SIMDRegister v) const noexcept  { return { NativeOps::add (value, v.value) }; }
      |                                                                                                                    ^~~~~
      |                                                                                                                    Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator-(juce::dsp::SIMDRegister<Type>) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:231:100: error: ‘NativeOps’ has not been declared
  231 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator- (SIMDRegister v) const noexcept  { return { NativeOps::sub (value, v.value) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:231:116: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  231 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator- (SIMDRegister v) const noexcept  { return { NativeOps::sub (value, v.value) }; }
      |                                                                                                                    ^~~~~
      |                                                                                                                    Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator*(juce::dsp::SIMDRegister<Type>) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:234:115: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  234 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator* (SIMDRegister v) const noexcept  { return { CmplxOps::mul (value, v.value) }; }
      |                                                                                                                   ^~~~~
      |                                                                                                                   Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator+(ElementType) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:238:100: error: ‘NativeOps’ has not been declared
  238 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator+ (ElementType s) const noexcept   { return { NativeOps::add (value, CmplxOps::expand (s)) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:238:116: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  238 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator+ (ElementType s) const noexcept   { return { NativeOps::add (value, CmplxOps::expand (s)) }; }
      |                                                                                                                    ^~~~~
      |                                                                                                                    Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator-(ElementType) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:241:100: error: ‘NativeOps’ has not been declared
  241 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator- (ElementType s) const noexcept   { return { NativeOps::sub (value, CmplxOps::expand (s)) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:241:116: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  241 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator- (ElementType s) const noexcept   { return { NativeOps::sub (value, CmplxOps::expand (s)) }; }
      |                                                                                                                    ^~~~~
      |                                                                                                                    Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator*(ElementType) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:244:115: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  244 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator* (ElementType s) const noexcept   { return { CmplxOps::mul (value, CmplxOps::expand (s)) }; }
      |                                                                                                                   ^~~~~
      |                                                                                                                   Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator&(int) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:248:100: error: ‘NativeOps’ has not been declared
  248 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator& (vMaskType v) const noexcept     { return { NativeOps::bit_and (value, toVecType (v.value)) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:248:120: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  248 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator& (vMaskType v) const noexcept     { return { NativeOps::bit_and (value, toVecType (v.value)) }; }
      |                                                                                                                        ^~~~~
      |                                                                                                                        Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:248:140: error: request for member ‘value’ in ‘v’, which is of non-class type ‘int’
  248 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator& (vMaskType v) const noexcept     { return { NativeOps::bit_and (value, toVecType (v.value)) }; }
      |                                                                                                                                            ^~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator|(int) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:251:100: error: ‘NativeOps’ has not been declared
  251 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator| (vMaskType v) const noexcept     { return { NativeOps::bit_or  (value, toVecType (v.value)) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:251:120: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  251 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator| (vMaskType v) const noexcept     { return { NativeOps::bit_or  (value, toVecType (v.value)) }; }
      |                                                                                                                        ^~~~~
      |                                                                                                                        Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:251:140: error: request for member ‘value’ in ‘v’, which is of non-class type ‘int’
  251 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator| (vMaskType v) const noexcept     { return { NativeOps::bit_or  (value, toVecType (v.value)) }; }
      |                                                                                                                                            ^~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator^(int) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:254:100: error: ‘NativeOps’ has not been declared
  254 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator^ (vMaskType v) const noexcept     { return { NativeOps::bit_xor (value, toVecType (v.value)) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:254:120: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  254 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator^ (vMaskType v) const noexcept     { return { NativeOps::bit_xor (value, toVecType (v.value)) }; }
      |                                                                                                                        ^~~~~
      |                                                                                                                        Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:254:140: error: request for member ‘value’ in ‘v’, which is of non-class type ‘int’
  254 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator^ (vMaskType v) const noexcept     { return { NativeOps::bit_xor (value, toVecType (v.value)) }; }
      |                                                                                                                                            ^~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator~() const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:257:100: error: ‘NativeOps’ has not been declared
  257 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator~() const noexcept                 { return { NativeOps::bit_not (value) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:257:120: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  257 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator~() const noexcept                 { return { NativeOps::bit_not (value) }; }
      |                                                                                                                        ^~~~~
      |                                                                                                                        Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator&(int) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:261:100: error: ‘NativeOps’ has not been declared
  261 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator& (MaskType s) const noexcept      { return { NativeOps::bit_and (value, toVecType (s)) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:261:120: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  261 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator& (MaskType s) const noexcept      { return { NativeOps::bit_and (value, toVecType (s)) }; }
      |                                                                                                                        ^~~~~
      |                                                                                                                        Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator|(int) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:264:100: error: ‘NativeOps’ has not been declared
  264 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator| (MaskType s) const noexcept      { return { NativeOps::bit_or  (value, toVecType (s)) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:264:120: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  264 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator| (MaskType s) const noexcept      { return { NativeOps::bit_or  (value, toVecType (s)) }; }
      |                                                                                                                        ^~~~~
      |                                                                                                                        Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::operator^(int) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:267:100: error: ‘NativeOps’ has not been declared
  267 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator^ (MaskType s) const noexcept      { return { NativeOps::bit_xor (value, toVecType (s)) }; }
      |                                                                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:267:120: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  267 |     inline SIMDRegister JUCE_VECTOR_CALLTYPE operator^ (MaskType s) const noexcept      { return { NativeOps::bit_xor (value, toVecType (s)) }; }
      |                                                                                                                        ^~~~~
      |                                                                                                                        Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘bool juce::dsp::SIMDRegister<Type>::operator==(juce::dsp::SIMDRegister<Type>) const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:271:98: error: ‘NativeOps’ has not been declared
  271 |     inline bool JUCE_VECTOR_CALLTYPE operator== (SIMDRegister other) const noexcept    { return  NativeOps::allEqual (value, other.value); }
      |                                                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:271:119: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  271 |     inline bool JUCE_VECTOR_CALLTYPE operator== (SIMDRegister other) const noexcept    { return  NativeOps::allEqual (value, other.value); }
      |                                                                                                                       ^~~~~
      |                                                                                                                       Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In static member function ‘static juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::min(juce::dsp::SIMDRegister<Type>, juce::dsp::SIMDRegister<Type>)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:315:113: error: ‘NativeOps’ has not been declared
  315 |     static inline SIMDRegister JUCE_VECTOR_CALLTYPE min (SIMDRegister a, SIMDRegister b) noexcept    { return { NativeOps::min (a.value, b.value) }; }
      |                                                                                                                 ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In static member function ‘static juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::max(juce::dsp::SIMDRegister<Type>, juce::dsp::SIMDRegister<Type>)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:318:113: error: ‘NativeOps’ has not been declared
  318 |     static inline SIMDRegister JUCE_VECTOR_CALLTYPE max (SIMDRegister a, SIMDRegister b) noexcept    { return { NativeOps::max (a.value, b.value) }; }
      |                                                                                                                 ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In member function ‘juce::dsp::SIMDRegister<Type>::ElementType juce::dsp::SIMDRegister<Type>::sum() const’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:329:78: error: ‘value’ was not declared in this scope; did you mean ‘Value’?
  329 |     inline ElementType sum() const noexcept          { return CmplxOps::sum (value); }
      |                                                                              ^~~~~
      |                                                                              Value
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h: In static member function ‘static juce::dsp::SIMDRegister<Type> juce::dsp::SIMDRegister<Type>::truncate(juce::dsp::SIMDRegister<Type>)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:334:102: error: ‘NativeOps’ has not been declared
  334 |     static inline SIMDRegister JUCE_VECTOR_CALLTYPE truncate (SIMDRegister a) noexcept    { return { NativeOps::truncate (a.value) }; }
      |                                                                                                      ^~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister.h:403:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:57:32: error: expected nested-name-specifier before ‘SIMDNativeOps’
   57 |     using vSIMDType = typename SIMDNativeOps<Scalar>::vSIMDType;
      |                                ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:59:19: error: ‘vSIMDType’ does not name a type
   59 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE load (const Scalar* a) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:64:52: error: ‘vSIMDType’ has not been declared
   64 |     static inline void JUCE_VECTOR_CALLTYPE store (vSIMDType value, Scalar* dest) noexcept
      |                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:69:19: error: ‘vSIMDType’ does not name a type
   69 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE expand (Scalar s) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:74:52: error: ‘vSIMDType’ has not been declared
   74 |     static inline Scalar JUCE_VECTOR_CALLTYPE get (vSIMDType v, std::size_t i) noexcept
      |                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:79:19: error: ‘vSIMDType’ does not name a type
   79 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE set (vSIMDType v, std::size_t i, Scalar s) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:84:52: error: ‘vSIMDType’ has not been declared
   84 |     static inline Scalar JUCE_VECTOR_CALLTYPE sum (vSIMDType a)  noexcept
      |                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:89:19: error: ‘vSIMDType’ does not name a type
   89 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE mul (vSIMDType a, vSIMDType b) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:94:19: error: ‘vSIMDType’ does not name a type
   94 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE muladd (vSIMDType a, vSIMDType b, vSIMDType c) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h: In static member function ‘static void juce::dsp::CmplxSIMDOps<Scalar>::store(int, Scalar*)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:66:9: error: ‘SIMDNativeOps’ was not declared in this scope
   66 |         SIMDNativeOps<Scalar>::store (value, dest);
      |         ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:66:29: error: expected primary-expression before ‘>’ token
   66 |         SIMDNativeOps<Scalar>::store (value, dest);
      |                             ^
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:66:32: error: ‘::store’ has not been declared
   66 |         SIMDNativeOps<Scalar>::store (value, dest);
      |                                ^~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h: In static member function ‘static Scalar juce::dsp::CmplxSIMDOps<Scalar>::get(int, std::size_t)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:76:16: error: ‘SIMDNativeOps’ was not declared in this scope
   76 |         return SIMDNativeOps<Scalar>::get (v, i);
      |                ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:76:36: error: expected primary-expression before ‘>’ token
   76 |         return SIMDNativeOps<Scalar>::get (v, i);
      |                                    ^
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:76:39: error: ‘::get’ has not been declared; did you mean ‘std::get’?
   76 |         return SIMDNativeOps<Scalar>::get (v, i);
      |                                       ^~~
      |                                       std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h: In static member function ‘static Scalar juce::dsp::CmplxSIMDOps<Scalar>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:86:16: error: ‘SIMDNativeOps’ was not declared in this scope
   86 |         return SIMDNativeOps<Scalar>::sum (a);
      |                ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:86:36: error: expected primary-expression before ‘>’ token
   86 |         return SIMDNativeOps<Scalar>::sum (a);
      |                                    ^
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:86:39: error: ‘::sum’ has not been declared
   86 |         return SIMDNativeOps<Scalar>::sum (a);
      |                                       ^~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:104:32: error: expected nested-name-specifier before ‘SIMDNativeOps’
  104 |     using vSIMDType = typename SIMDNativeOps<Scalar>::vSIMDType;
      |                                ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:106:19: error: ‘vSIMDType’ does not name a type
  106 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE load (const std::complex<Scalar>* a) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:111:52: error: ‘vSIMDType’ has not been declared
  111 |     static inline void JUCE_VECTOR_CALLTYPE store (vSIMDType value, std::complex<Scalar>* dest) noexcept
      |                                                    ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:116:19: error: ‘vSIMDType’ does not name a type
  116 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE expand (std::complex<Scalar> s) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:132:66: error: ‘vSIMDType’ has not been declared
  132 |     static inline std::complex<Scalar> JUCE_VECTOR_CALLTYPE get (vSIMDType v, std::size_t i) noexcept
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:138:19: error: ‘vSIMDType’ does not name a type
  138 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE set (vSIMDType v, std::size_t i, std::complex<Scalar> s) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:144:66: error: ‘vSIMDType’ has not been declared
  144 |     static inline std::complex<Scalar> JUCE_VECTOR_CALLTYPE sum (vSIMDType a)  noexcept
      |                                                                  ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:151:19: error: ‘vSIMDType’ does not name a type
  151 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE mul (vSIMDType a, vSIMDType b)  noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:156:19: error: ‘vSIMDType’ does not name a type
  156 |     static inline vSIMDType JUCE_VECTOR_CALLTYPE muladd (vSIMDType a, vSIMDType b, vSIMDType c) noexcept
      |                   ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h: In static member function ‘static void juce::dsp::CmplxSIMDOps<std::complex<_Tp> >::store(int, std::complex<_Tp>*)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:113:9: error: ‘SIMDNativeOps’ was not declared in this scope
  113 |         SIMDNativeOps<Scalar>::store (value, reinterpret_cast<Scalar*> (dest));
      |         ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:113:29: error: expected primary-expression before ‘>’ token
  113 |         SIMDNativeOps<Scalar>::store (value, reinterpret_cast<Scalar*> (dest));
      |                             ^
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:113:32: error: ‘::store’ has not been declared
  113 |         SIMDNativeOps<Scalar>::store (value, reinterpret_cast<Scalar*> (dest));
      |                                ^~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h: In static member function ‘static std::complex<_Tp> juce::dsp::CmplxSIMDOps<std::complex<_Tp> >::get(int, std::size_t)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:135:38: error: ‘SIMDNativeOps’ was not declared in this scope
  135 |         return std::complex<Scalar> (SIMDNativeOps<Scalar>::get (v, j), SIMDNativeOps<Scalar>::get (v, j + 1));
      |                                      ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:135:61: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  135 |         return std::complex<Scalar> (SIMDNativeOps<Scalar>::get (v, j), SIMDNativeOps<Scalar>::get (v, j + 1));
      |                                                             ^~~
      |                                                             std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:135:37: error: expected primary-expression before ‘(’ token
  135 |         return std::complex<Scalar> (SIMDNativeOps<Scalar>::get (v, j), SIMDNativeOps<Scalar>::get (v, j + 1));
      |                                     ^
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:135:58: error: expected primary-expression before ‘>’ token
  135 |         return std::complex<Scalar> (SIMDNativeOps<Scalar>::get (v, j), SIMDNativeOps<Scalar>::get (v, j + 1));
      |                                                          ^
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:135:61: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  135 |         return std::complex<Scalar> (SIMDNativeOps<Scalar>::get (v, j), SIMDNativeOps<Scalar>::get (v, j + 1));
      |                                                             ^~~
      |                                                             std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:135:93: error: expected primary-expression before ‘>’ token
  135 |         return std::complex<Scalar> (SIMDNativeOps<Scalar>::get (v, j), SIMDNativeOps<Scalar>::get (v, j + 1));
      |                                                                                             ^
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:135:96: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  135 |         return std::complex<Scalar> (SIMDNativeOps<Scalar>::get (v, j), SIMDNativeOps<Scalar>::get (v, j + 1));
      |                                                                                                ^~~
      |                                                                                                std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h: In static member function ‘static std::complex<_Tp> juce::dsp::CmplxSIMDOps<std::complex<_Tp> >::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:146:9: error: ‘vSIMDType’ was not declared in this scope
  146 |         vSIMDType result = SIMDNativeOps<Scalar>::oddevensum (a);
      |         ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:147:55: error: ‘result’ was not declared in this scope; did you mean ‘Result’?
  147 |         auto* ptr = reinterpret_cast<const Scalar*> (&result);
      |                                                       ^~~~~~
      |                                                       Result
In file included from /tmp/ix0IlalA8K/dump1.h:222:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:35:28: error: redefinition of ‘struct juce::dsp::SIMDRegister<Type>::ElementAccess’
   35 | struct SIMDRegister<Type>::ElementAccess
      |                            ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:35:28: note: previous definition of ‘struct juce::dsp::SIMDRegister<Type>::ElementAccess’
   35 | struct SIMDRegister<Type>::ElementAccess
      |                            ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:55:8: error: redefinition of ‘struct juce::dsp::CmplxSIMDOps<Scalar>’
   55 | struct CmplxSIMDOps
      |        ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:55:8: note: previous definition of ‘struct juce::dsp::CmplxSIMDOps<Scalar>’
   55 | struct CmplxSIMDOps
      |        ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:102:8: error: redefinition of ‘struct juce::dsp::CmplxSIMDOps<std::complex<_Tp> >’
  102 | struct CmplxSIMDOps<std::complex<Scalar>>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:102:8: note: previous definition of ‘struct juce::dsp::CmplxSIMDOps<std::complex<_Tp> >’
  102 | struct CmplxSIMDOps<std::complex<Scalar>>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:167:18: error: redefinition of ‘template<class Type> void juce::dsp::util::snapToZero(juce::dsp::SIMDRegister<Type>&)’
  167 |      inline void snapToZero (SIMDRegister<Type>&) noexcept      {}
      |                  ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:167:18: note: ‘template<class Type> void juce::dsp::util::snapToZero(juce::dsp::SIMDRegister<Type>&)’ previously declared here
  167 |      inline void snapToZero (SIMDRegister<Type>&) noexcept      {}
      |                  ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:174:53: error: redefinition of ‘template<class Type> juce::dsp::SIMDRegister<Type> juce::jmin(dsp::SIMDRegister<Type>, dsp::SIMDRegister<Type>)’
  174 | inline dsp::SIMDRegister<Type> JUCE_VECTOR_CALLTYPE jmin (dsp::SIMDRegister<Type> a, dsp::SIMDRegister<Type> b) { return dsp::SIMDRegister<Type>::min (a, b); }
      |                                                     ^~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:174:53: note: ‘template<class Type> juce::dsp::SIMDRegister<Type> juce::jmin(dsp::SIMDRegister<Type>, dsp::SIMDRegister<Type>)’ previously declared here
  174 | inline dsp::SIMDRegister<Type> JUCE_VECTOR_CALLTYPE jmin (dsp::SIMDRegister<Type> a, dsp::SIMDRegister<Type> b) { return dsp::SIMDRegister<Type>::min (a, b); }
      |                                                     ^~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:176:53: error: redefinition of ‘template<class Type> juce::dsp::SIMDRegister<Type> juce::jmax(dsp::SIMDRegister<Type>, dsp::SIMDRegister<Type>)’
  176 | inline dsp::SIMDRegister<Type> JUCE_VECTOR_CALLTYPE jmax (dsp::SIMDRegister<Type> a, dsp::SIMDRegister<Type> b) { return dsp::SIMDRegister<Type>::max (a, b); }
      |                                                     ^~~~
/usr/include/libopenshot-audio/juce_dsp/containers/juce_SIMDRegister_Impl.h:176:53: note: ‘template<class Type> juce::dsp::SIMDRegister<Type> juce::jmax(dsp::SIMDRegister<Type>, dsp::SIMDRegister<Type>)’ previously declared here
  176 | inline dsp::SIMDRegister<Type> JUCE_VECTOR_CALLTYPE jmax (dsp::SIMDRegister<Type> a, dsp::SIMDRegister<Type> b) { return dsp::SIMDRegister<Type>::max (a, b); }
      |                                                     ^~~~
In file included from /tmp/ix0IlalA8K/dump1.h:223:
/usr/include/libopenshot-audio/juce_dsp/filter_design/juce_FilterDesign.h:42:8: error: redefinition of ‘struct juce::dsp::FilterDesign<FloatType>’
   42 | struct FilterDesign
      |        ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:273:
/usr/include/libopenshot-audio/juce_dsp/filter_design/juce_FilterDesign.h:42:8: note: previous definition of ‘struct juce::dsp::FilterDesign<FloatType>’
   42 | struct FilterDesign
      |        ^~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:224:
/usr/include/libopenshot-audio/juce_dsp/frequency/juce_Convolution.h:50:17: error: redefinition of ‘class juce::dsp::Convolution’
   50 | class JUCE_API  Convolution
      |                 ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:271:
/usr/include/libopenshot-audio/juce_dsp/frequency/juce_Convolution.h:50:17: note: previous definition of ‘class juce::dsp::Convolution’
   50 | class JUCE_API  Convolution
      |                 ^~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:225:
/usr/include/libopenshot-audio/juce_dsp/frequency/juce_FFT.h:45:17: error: redefinition of ‘class juce::dsp::FFT’
   45 | class JUCE_API  FFT
      |                 ^~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:270:
/usr/include/libopenshot-audio/juce_dsp/frequency/juce_FFT.h:45:17: note: previous definition of ‘class juce::dsp::FFT’
   45 | class JUCE_API  FFT
      |                 ^~~
In file included from /tmp/ix0IlalA8K/dump1.h:226:
/usr/include/libopenshot-audio/juce_dsp/frequency/juce_Windowing.h:43:17: error: redefinition of ‘class juce::dsp::WindowingFunction<FloatType>’
   43 | class JUCE_API  WindowingFunction
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:272:
/usr/include/libopenshot-audio/juce_dsp/frequency/juce_Windowing.h:43:17: note: previous definition of ‘class juce::dsp::WindowingFunction<FloatType>’
   43 | class JUCE_API  WindowingFunction
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:228:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_FastMathApproximations.h:37:8: error: redefinition of ‘struct juce::dsp::FastMathApproximations’
   37 | struct FastMathApproximations
      |        ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:252:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_FastMathApproximations.h:37:8: note: previous definition of ‘struct juce::dsp::FastMathApproximations’
   37 | struct FastMathApproximations
      |        ^~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:229:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_LogRampedValue.h:48:7: error: redefinition of ‘class juce::dsp::LogRampedValue<FloatType>’
   48 | class LogRampedValue   : public SmoothedValueBase <LogRampedValue <FloatType>>
      |       ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:254:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_LogRampedValue.h:48:7: note: previous definition of ‘class juce::dsp::LogRampedValue<FloatType>’
   48 | class LogRampedValue   : public SmoothedValueBase <LogRampedValue <FloatType>>
      |       ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:230:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_LookupTable.h:53:7: error: redefinition of ‘class juce::dsp::LookupTable<FloatType>’
   53 | class LookupTable
      |       ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:253:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_LookupTable.h:53:7: note: previous definition of ‘class juce::dsp::LookupTable<FloatType>’
   53 | class LookupTable
      |       ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/maths/juce_LookupTable.h:175:7: error: redefinition of ‘class juce::dsp::LookupTableTransform<FloatType>’
  175 | class LookupTableTransform
      |       ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/maths/juce_LookupTable.h:175:7: note: previous definition of ‘class juce::dsp::LookupTableTransform<FloatType>’
  175 | class LookupTableTransform
      |       ^~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:231:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_Matrix.h:41:7: error: redefinition of ‘class juce::dsp::Matrix<ElementType>’
   41 | class Matrix
      |       ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:249:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_Matrix.h:41:7: note: previous definition of ‘class juce::dsp::Matrix<ElementType>’
   41 | class Matrix
      |       ^~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:232:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_Phase.h:41:8: error: redefinition of ‘struct juce::dsp::Phase<Type>’
   41 | struct Phase
      |        ^~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:250:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_Phase.h:41:8: note: previous definition of ‘struct juce::dsp::Phase<Type>’
   41 | struct Phase
      |        ^~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:233:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_Polynomial.h:38:7: error: redefinition of ‘class juce::dsp::Polynomial<FloatingType>’
   38 | class Polynomial
      |       ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:251:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_Polynomial.h:38:7: note: previous definition of ‘class juce::dsp::Polynomial<FloatingType>’
   38 | class Polynomial
      |       ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:234:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_SpecialFunctions.h:37:8: error: redefinition of ‘struct juce::dsp::SpecialFunctions’
   37 | struct SpecialFunctions
      |        ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:248:
/usr/include/libopenshot-audio/juce_dsp/maths/juce_SpecialFunctions.h:37:8: note: previous definition of ‘struct juce::dsp::SpecialFunctions’
   37 | struct SpecialFunctions
      |        ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:235:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:66:23: error: ‘__m256’ does not name a type
   66 |     using vSIMDType = __m256;
      |                       ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:74:25: error: ‘__m256’ does not name a type
   74 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE vconst (const float* a) noexcept                     { return load (a); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:75:25: error: ‘__m256’ does not name a type
   75 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE vconst (const int32_t* a) noexcept                   { return _mm256_castsi256_ps (_mm256_load_si256 (reinterpret_cast <const __m256i*> (a))); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:76:25: error: ‘__m256’ does not name a type
   76 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE expand (float s) noexcept                            { return _mm256_broadcast_ss (&s); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:77:25: error: ‘__m256’ does not name a type
   77 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE load (const float* a) noexcept                       { return _mm256_load_ps (a); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:78:60: error: ‘__m256’ has not been declared
   78 |     static forcedinline void   JUCE_VECTOR_CALLTYPE store (__m256 value, float* dest) noexcept           { _mm256_store_ps (dest, value); }
      |                                                            ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:79:25: error: ‘__m256’ does not name a type
   79 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE add (__m256 a, __m256 b) noexcept                    { return _mm256_add_ps (a, b); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:80:25: error: ‘__m256’ does not name a type
   80 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE sub (__m256 a, __m256 b) noexcept                    { return _mm256_sub_ps (a, b); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:81:25: error: ‘__m256’ does not name a type
   81 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE mul (__m256 a, __m256 b) noexcept                    { return _mm256_mul_ps (a, b); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:82:25: error: ‘__m256’ does not name a type
   82 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE bit_and (__m256 a, __m256 b) noexcept                { return _mm256_and_ps (a, b); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:83:25: error: ‘__m256’ does not name a type
   83 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE bit_or  (__m256 a, __m256 b) noexcept                { return _mm256_or_ps  (a, b); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:84:25: error: ‘__m256’ does not name a type
   84 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE bit_xor (__m256 a, __m256 b) noexcept                { return _mm256_xor_ps (a, b); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:85:25: error: ‘__m256’ does not name a type
   85 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE bit_notand (__m256 a, __m256 b) noexcept             { return _mm256_andnot_ps (a, b); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:86:25: error: ‘__m256’ does not name a type
   86 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE bit_not (__m256 a) noexcept                          { return bit_notand (a, vconst (kAllBitsSet)); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:87:25: error: ‘__m256’ does not name a type
   87 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE min (__m256 a, __m256 b) noexcept                    { return _mm256_min_ps (a, b); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:88:25: error: ‘__m256’ does not name a type
   88 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE max (__m256 a, __m256 b) noexcept                    { return _mm256_max_ps (a, b); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:89:25: error: ‘__m256’ does not name a type
   89 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE equal (__m256 a, __m256 b) noexcept                  { return _mm256_cmp_ps (a, b, _CMP_EQ_OQ); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:90:25: error: ‘__m256’ does not name a type
   90 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE notEqual (__m256 a, __m256 b) noexcept               { return _mm256_cmp_ps (a, b, _CMP_NEQ_OQ); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:91:25: error: ‘__m256’ does not name a type
   91 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE greaterThan (__m256 a, __m256 b) noexcept            { return _mm256_cmp_ps (a, b, _CMP_GT_OQ); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:92:25: error: ‘__m256’ does not name a type
   92 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE greaterThanOrEqual (__m256 a, __m256 b) noexcept     { return _mm256_cmp_ps (a, b, _CMP_GE_OQ); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:93:63: error: ‘__m256’ has not been declared
   93 |     static forcedinline bool   JUCE_VECTOR_CALLTYPE allEqual (__m256 a, __m256 b) noexcept               { return (_mm256_movemask_ps (equal (a, b)) == 0xff); }
      |                                                               ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:93:73: error: ‘__m256’ has not been declared
   93 |     static forcedinline bool   JUCE_VECTOR_CALLTYPE allEqual (__m256 a, __m256 b) noexcept               { return (_mm256_movemask_ps (equal (a, b)) == 0xff); }
      |                                                                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:94:25: error: ‘__m256’ does not name a type
   94 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE dupeven (__m256 a) noexcept                          { return _mm256_shuffle_ps (a, a, _MM_SHUFFLE (2, 2, 0, 0)); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:95:25: error: ‘__m256’ does not name a type
   95 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE dupodd (__m256 a) noexcept                           { return _mm256_shuffle_ps (a, a, _MM_SHUFFLE (3, 3, 1, 1)); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:96:25: error: ‘__m256’ does not name a type
   96 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE swapevenodd (__m256 a) noexcept                      { return _mm256_shuffle_ps (a, a, _MM_SHUFFLE (2, 3, 0, 1)); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:97:58: error: ‘__m256’ has not been declared
   97 |     static forcedinline float  JUCE_VECTOR_CALLTYPE get (__m256 v, size_t i) noexcept                    { return SIMDFallbackOps<float, __m256>::get (v, i); }
      |                                                          ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:98:25: error: ‘__m256’ does not name a type
   98 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE set (__m256 v, size_t i, float s) noexcept           { return SIMDFallbackOps<float, __m256>::set (v, i, s); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:99:25: error: ‘__m256’ does not name a type
   99 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE truncate (__m256 a) noexcept                         { return _mm256_cvtepi32_ps (_mm256_cvttps_epi32 (a)); }
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:101:25: error: ‘__m256’ does not name a type
  101 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE multiplyAdd (__m256 a, __m256 b, __m256 c) noexcept
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:110:25: error: ‘__m256’ does not name a type
  110 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE oddevensum (__m256 a) noexcept
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:117:25: error: ‘__m256’ does not name a type
  117 |     static forcedinline __m256 JUCE_VECTOR_CALLTYPE cmplxmul (__m256 a, __m256 b) noexcept
      |                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:124:57: error: ‘__m256’ has not been declared
  124 |     static forcedinline float JUCE_VECTOR_CALLTYPE sum (__m256 a) noexcept
      |                                                         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static void juce::dsp::SIMDNativeOps<float>::store(int, float*)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:78:108: error: ‘_mm256_store_ps’ was not declared in this scope
   78 |     static forcedinline void   JUCE_VECTOR_CALLTYPE store (__m256 value, float* dest) noexcept           { _mm256_store_ps (dest, value); }
      |                                                                                                            ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static bool juce::dsp::SIMDNativeOps<float>::allEqual(int, int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:93:136: error: ‘equal’ was not declared in this scope; did you mean ‘std::equal’?
   93 |     static forcedinline bool   JUCE_VECTOR_CALLTYPE allEqual (__m256 a, __m256 b) noexcept               { return (_mm256_movemask_ps (equal (a, b)) == 0xff); }
      |                                                                                                                                        ^~~~~
      |                                                                                                                                        std::equal
/usr/include/c++/12/pstl/glue_algorithm_defs.h:347:1: note: ‘std::equal’ declared here
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:93:116: error: ‘_mm256_movemask_ps’ was not declared in this scope
   93 |     static forcedinline bool   JUCE_VECTOR_CALLTYPE allEqual (__m256 a, __m256 b) noexcept               { return (_mm256_movemask_ps (equal (a, b)) == 0xff); }
      |                                                                                                                    ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static float juce::dsp::SIMDNativeOps<float>::get(int, size_t)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:97:115: error: ‘SIMDFallbackOps’ was not declared in this scope
   97 |     static forcedinline float  JUCE_VECTOR_CALLTYPE get (__m256 v, size_t i) noexcept                    { return SIMDFallbackOps<float, __m256>::get (v, i); }
      |                                                                                                                   ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:97:131: error: expected primary-expression before ‘float’
   97 |     static forcedinline float  JUCE_VECTOR_CALLTYPE get (__m256 v, size_t i) noexcept                    { return SIMDFallbackOps<float, __m256>::get (v, i); }
      |                                                                                                                                   ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:97:131: error: expected ‘;’ before ‘float’
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:97:136: error: expected unqualified-id before ‘,’ token
   97 |     static forcedinline float  JUCE_VECTOR_CALLTYPE get (__m256 v, size_t i) noexcept                    { return SIMDFallbackOps<float, __m256>::get (v, i); }
      |                                                                                                                                        ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:97:144: error: expected initializer before ‘>’ token
   97 |     static forcedinline float  JUCE_VECTOR_CALLTYPE get (__m256 v, size_t i) noexcept                    { return SIMDFallbackOps<float, __m256>::get (v, i); }
      |                                                                                                                                                ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static float juce::dsp::SIMDNativeOps<float>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:126:8: error: ‘__m256’ was not declared in this scope
  126 |        __m256 retval = _mm256_dp_ps (a, vconst (kOne), 0xff);
      |        ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:127:15: error: expected ‘;’ before ‘tmp’
  127 |        __m256 tmp = _mm256_permute2f128_ps (retval, retval, 1);
      |               ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:128:8: error: ‘retval’ was not declared in this scope
  128 |        retval = _mm256_add_ps (retval, tmp);
      |        ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:128:40: error: ‘tmp’ was not declared in this scope; did you mean ‘tm’?
  128 |        retval = _mm256_add_ps (retval, tmp);
      |                                        ^~~
      |                                        tm
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:128:17: error: ‘_mm256_add_ps’ was not declared in this scope
  128 |        retval = _mm256_add_ps (retval, tmp);
      |                 ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:146:23: error: ‘__m256d’ does not name a type
  146 |     using vSIMDType = __m256d;
      |                       ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:154:25: error: ‘__m256d’ does not name a type
  154 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE vconst (const double* a) noexcept                      { return load (a); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:155:25: error: ‘__m256d’ does not name a type
  155 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE vconst (const int64_t* a) noexcept                     { return _mm256_castsi256_pd (_mm256_load_si256 (reinterpret_cast <const __m256i*> (a))); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:156:25: error: ‘__m256d’ does not name a type
  156 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE expand (double s) noexcept                             { return _mm256_broadcast_sd (&s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:157:25: error: ‘__m256d’ does not name a type
  157 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE load (const double* a) noexcept                        { return _mm256_load_pd (a); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:158:58: error: ‘__m256d’ has not been declared
  158 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256d value, double* dest) noexcept              { _mm256_store_pd (dest, value); }
      |                                                          ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:159:25: error: ‘__m256d’ does not name a type
  159 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE add (__m256d a, __m256d b) noexcept                    { return _mm256_add_pd (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:160:25: error: ‘__m256d’ does not name a type
  160 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE sub (__m256d a, __m256d b) noexcept                    { return _mm256_sub_pd (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:161:25: error: ‘__m256d’ does not name a type
  161 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE mul (__m256d a, __m256d b) noexcept                    { return _mm256_mul_pd (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:162:25: error: ‘__m256d’ does not name a type
  162 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE bit_and (__m256d a, __m256d b) noexcept                { return _mm256_and_pd (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:163:25: error: ‘__m256d’ does not name a type
  163 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE bit_or  (__m256d a, __m256d b) noexcept                { return _mm256_or_pd  (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:164:25: error: ‘__m256d’ does not name a type
  164 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE bit_xor (__m256d a, __m256d b) noexcept                { return _mm256_xor_pd (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:165:25: error: ‘__m256d’ does not name a type
  165 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE bit_notand (__m256d a, __m256d b) noexcept             { return _mm256_andnot_pd (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:166:25: error: ‘__m256d’ does not name a type
  166 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE bit_not (__m256d a) noexcept                           { return bit_notand (a, vconst (kAllBitsSet)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:167:25: error: ‘__m256d’ does not name a type
  167 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE min (__m256d a, __m256d b) noexcept                    { return _mm256_min_pd (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:168:25: error: ‘__m256d’ does not name a type
  168 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE max (__m256d a, __m256d b) noexcept                    { return _mm256_max_pd (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:169:25: error: ‘__m256d’ does not name a type
  169 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE equal (__m256d a, __m256d b) noexcept                  { return _mm256_cmp_pd (a, b, _CMP_EQ_OQ); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:170:25: error: ‘__m256d’ does not name a type
  170 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE notEqual (__m256d a, __m256d b) noexcept               { return _mm256_cmp_pd (a, b, _CMP_NEQ_OQ); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:171:25: error: ‘__m256d’ does not name a type
  171 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE greaterThan (__m256d a, __m256d b) noexcept            { return _mm256_cmp_pd (a, b, _CMP_GT_OQ); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:172:25: error: ‘__m256d’ does not name a type
  172 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE greaterThanOrEqual (__m256d a, __m256d b) noexcept     { return _mm256_cmp_pd (a, b, _CMP_GE_OQ); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:173:64: error: ‘__m256d’ has not been declared
  173 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256d a, __m256d b) noexcept               { return (_mm256_movemask_pd (equal (a, b)) == 0xf); }
      |                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:173:75: error: ‘__m256d’ has not been declared
  173 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256d a, __m256d b) noexcept               { return (_mm256_movemask_pd (equal (a, b)) == 0xf); }
      |                                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:174:25: error: ‘__m256d’ does not name a type
  174 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE multiplyAdd (__m256d a, __m256d b, __m256d c) noexcept { return _mm256_add_pd (a, _mm256_mul_pd (b, c)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:175:25: error: ‘__m256d’ does not name a type
  175 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE dupeven (__m256d a) noexcept                           { return _mm256_shuffle_pd (a, a, 0); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:176:25: error: ‘__m256d’ does not name a type
  176 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE dupodd (__m256d a) noexcept                            { return _mm256_shuffle_pd (a, a, (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:177:25: error: ‘__m256d’ does not name a type
  177 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE swapevenodd (__m256d a) noexcept                       { return _mm256_shuffle_pd (a, a, (1 << 0) | (0 << 1) | (1 << 2) | (0 << 3)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:178:25: error: ‘__m256d’ does not name a type
  178 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE oddevensum (__m256d a) noexcept                        { return _mm256_add_pd (_mm256_permute2f128_pd (a, a, 1), a); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:179:59: error: ‘__m256d’ has not been declared
  179 |     static forcedinline double  JUCE_VECTOR_CALLTYPE get (__m256d v, size_t i) noexcept                     { return SIMDFallbackOps<double, __m256d>::get (v, i); }
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:180:25: error: ‘__m256d’ does not name a type
  180 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE set (__m256d v, size_t i, double s) noexcept           { return SIMDFallbackOps<double, __m256d>::set (v, i, s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:181:25: error: ‘__m256d’ does not name a type
  181 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE truncate (__m256d a) noexcept                          { return _mm256_cvtepi32_pd (_mm256_cvttpd_epi32 (a)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:184:25: error: ‘__m256d’ does not name a type
  184 |     static forcedinline __m256d JUCE_VECTOR_CALLTYPE cmplxmul (__m256d a, __m256d b) noexcept
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:191:58: error: ‘__m256d’ has not been declared
  191 |     static forcedinline double JUCE_VECTOR_CALLTYPE sum (__m256d a) noexcept
      |                                                          ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static void juce::dsp::SIMDNativeOps<double>::store(int, double*)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:158:111: error: ‘_mm256_store_pd’ was not declared in this scope
  158 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256d value, double* dest) noexcept              { _mm256_store_pd (dest, value); }
      |                                                                                                               ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static bool juce::dsp::SIMDNativeOps<double>::allEqual(int, int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:173:139: error: ‘equal’ was not declared in this scope; did you mean ‘std::equal’?
  173 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256d a, __m256d b) noexcept               { return (_mm256_movemask_pd (equal (a, b)) == 0xf); }
      |                                                                                                                                           ^~~~~
      |                                                                                                                                           std::equal
/usr/include/c++/12/pstl/glue_algorithm_defs.h:347:1: note: ‘std::equal’ declared here
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:173:119: error: ‘_mm256_movemask_pd’ was not declared in this scope
  173 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256d a, __m256d b) noexcept               { return (_mm256_movemask_pd (equal (a, b)) == 0xf); }
      |                                                                                                                       ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static double juce::dsp::SIMDNativeOps<double>::get(int, size_t)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:179:118: error: ‘SIMDFallbackOps’ was not declared in this scope
  179 |     static forcedinline double  JUCE_VECTOR_CALLTYPE get (__m256d v, size_t i) noexcept                     { return SIMDFallbackOps<double, __m256d>::get (v, i); }
      |                                                                                                                      ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:179:134: error: expected primary-expression before ‘double’
  179 |     static forcedinline double  JUCE_VECTOR_CALLTYPE get (__m256d v, size_t i) noexcept                     { return SIMDFallbackOps<double, __m256d>::get (v, i); }
      |                                                                                                                                      ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:179:134: error: expected ‘;’ before ‘double’
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:179:140: error: expected unqualified-id before ‘,’ token
  179 |     static forcedinline double  JUCE_VECTOR_CALLTYPE get (__m256d v, size_t i) noexcept                     { return SIMDFallbackOps<double, __m256d>::get (v, i); }
      |                                                                                                                                            ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:179:149: error: expected initializer before ‘>’ token
  179 |     static forcedinline double  JUCE_VECTOR_CALLTYPE get (__m256d v, size_t i) noexcept                     { return SIMDFallbackOps<double, __m256d>::get (v, i); }
      |                                                                                                                                                     ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static double juce::dsp::SIMDNativeOps<double>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:193:9: error: ‘__m256d’ was not declared in this scope
  193 |         __m256d retval = _mm256_hadd_pd (a, a);
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:194:17: error: expected ‘;’ before ‘tmp’
  194 |         __m256d tmp = _mm256_permute2f128_pd (retval, retval, 1);
      |                 ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:195:9: error: ‘retval’ was not declared in this scope
  195 |         retval = _mm256_add_pd (retval, tmp);
      |         ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:195:41: error: ‘tmp’ was not declared in this scope; did you mean ‘tm’?
  195 |         retval = _mm256_add_pd (retval, tmp);
      |                                         ^~~
      |                                         tm
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:195:18: error: ‘_mm256_add_pd’ was not declared in this scope
  195 |         retval = _mm256_add_pd (retval, tmp);
      |                  ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:213:23: error: ‘__m256i’ does not name a type
  213 |     using vSIMDType = __m256i;
      |                       ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:218:25: error: ‘__m256i’ does not name a type
  218 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE expand (int8_t s) noexcept                             { return _mm256_set1_epi8 (s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:219:25: error: ‘__m256i’ does not name a type
  219 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE load (const int8_t* p) noexcept                        { return _mm256_load_si256 (reinterpret_cast<const __m256i*> (p)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:220:58: error: ‘__m256i’ has not been declared
  220 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, int8_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                          ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:221:25: error: ‘__m256i’ does not name a type
  221 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE add (__m256i a, __m256i b) noexcept                    { return _mm256_add_epi8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:222:25: error: ‘__m256i’ does not name a type
  222 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE sub (__m256i a, __m256i b) noexcept                    { return _mm256_sub_epi8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:223:25: error: ‘__m256i’ does not name a type
  223 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_and (__m256i a, __m256i b) noexcept                { return _mm256_and_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:224:25: error: ‘__m256i’ does not name a type
  224 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_or  (__m256i a, __m256i b) noexcept                { return _mm256_or_si256  (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:225:25: error: ‘__m256i’ does not name a type
  225 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_xor (__m256i a, __m256i b) noexcept                { return _mm256_xor_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:226:25: error: ‘__m256i’ does not name a type
  226 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_andnot (__m256i a, __m256i b) noexcept             { return _mm256_andnot_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:227:25: error: ‘__m256i’ does not name a type
  227 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_not (__m256i a) noexcept                           { return _mm256_andnot_si256 (a, load (kAllBitsSet)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:228:25: error: ‘__m256i’ does not name a type
  228 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE min (__m256i a, __m256i b) noexcept                    { return _mm256_min_epi8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:229:25: error: ‘__m256i’ does not name a type
  229 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE max (__m256i a, __m256i b) noexcept                    { return _mm256_max_epi8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:230:25: error: ‘__m256i’ does not name a type
  230 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE equal (__m256i a, __m256i b) noexcept                  { return _mm256_cmpeq_epi8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:231:25: error: ‘__m256i’ does not name a type
  231 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE greaterThan (__m256i a, __m256i b) noexcept            { return _mm256_cmpgt_epi8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:232:25: error: ‘__m256i’ does not name a type
  232 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE greaterThanOrEqual (__m256i a, __m256i b) noexcept     { return bit_or (greaterThan (a, b), equal (a,b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:233:64: error: ‘__m256i’ has not been declared
  233 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept               { return _mm256_movemask_epi8 (equal (a, b)) == -1; }
      |                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:233:75: error: ‘__m256i’ has not been declared
  233 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept               { return _mm256_movemask_epi8 (equal (a, b)) == -1; }
      |                                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:234:25: error: ‘__m256i’ does not name a type
  234 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE multiplyAdd (__m256i a, __m256i b, __m256i c) noexcept { return add (a, mul (b, c)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:235:25: error: ‘__m256i’ does not name a type
  235 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE notEqual (__m256i a, __m256i b) noexcept               { return bit_not (equal (a, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:236:59: error: ‘__m256i’ has not been declared
  236 |     static forcedinline int8_t  JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                     { return SIMDFallbackOps<int8_t, __m256i>::get (v, i); }
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:237:25: error: ‘__m256i’ does not name a type
  237 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE set (__m256i v, size_t i, int8_t s) noexcept           { return SIMDFallbackOps<int8_t, __m256i>::set (v, i, s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:238:25: error: ‘__m256i’ does not name a type
  238 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept                          { return a; }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:241:58: error: ‘__m256i’ has not been declared
  241 |     static forcedinline int8_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept
      |                                                          ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:267:25: error: ‘__m256i’ does not name a type
  267 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE mul (__m256i a, __m256i b)
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static void juce::dsp::SIMDNativeOps<signed char>::store(int, int8_t*)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:220:148: error: ‘__m256i’ does not name a type
  220 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, int8_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                    ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:220:155: error: expected ‘>’ before ‘*’ token
  220 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, int8_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                           ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:220:155: error: expected ‘(’ before ‘*’ token
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:220:156: error: expected primary-expression before ‘>’ token
  220 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, int8_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                            ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static bool juce::dsp::SIMDNativeOps<signed char>::allEqual(int, int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:233:140: error: ‘equal’ was not declared in this scope; did you mean ‘std::equal’?
  233 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept               { return _mm256_movemask_epi8 (equal (a, b)) == -1; }
      |                                                                                                                                            ^~~~~
      |                                                                                                                                            std::equal
/usr/include/c++/12/pstl/glue_algorithm_defs.h:347:1: note: ‘std::equal’ declared here
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:233:118: error: ‘_mm256_movemask_epi8’ was not declared in this scope
  233 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept               { return _mm256_movemask_epi8 (equal (a, b)) == -1; }
      |                                                                                                                      ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static int8_t juce::dsp::SIMDNativeOps<signed char>::get(int, size_t)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:236:118: error: ‘SIMDFallbackOps’ was not declared in this scope
  236 |     static forcedinline int8_t  JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                     { return SIMDFallbackOps<int8_t, __m256i>::get (v, i); }
      |                                                                                                                      ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:236:140: error: expected primary-expression before ‘,’ token
  236 |     static forcedinline int8_t  JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                     { return SIMDFallbackOps<int8_t, __m256i>::get (v, i); }
      |                                                                                                                                            ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:236:142: error: ‘__m256i’ was not declared in this scope
  236 |     static forcedinline int8_t  JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                     { return SIMDFallbackOps<int8_t, __m256i>::get (v, i); }
      |                                                                                                                                              ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:236:152: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  236 |     static forcedinline int8_t  JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                     { return SIMDFallbackOps<int8_t, __m256i>::get (v, i); }
      |                                                                                                                                                        ^~~
      |                                                                                                                                                        std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static int8_t juce::dsp::SIMDNativeOps<signed char>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:243:9: error: ‘__m256i’ was not declared in this scope
  243 |         __m256i lo = _mm256_unpacklo_epi8 (a, _mm256_setzero_si256());
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:244:17: error: expected ‘;’ before ‘hi’
  244 |         __m256i hi = _mm256_unpackhi_epi8 (a, _mm256_setzero_si256());
      |                 ^~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:248:13: error: ‘lo’ was not declared in this scope; did you mean ‘log’?
  248 |             lo = _mm256_hadd_epi16 (lo, lo);
      |             ^~
      |             log
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:248:18: error: ‘_mm256_hadd_epi16’ was not declared in this scope
  248 |             lo = _mm256_hadd_epi16 (lo, lo);
      |                  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:249:13: error: ‘hi’ was not declared in this scope; did you mean ‘i’?
  249 |             hi = _mm256_hadd_epi16 (hi, hi);
      |             ^~
      |             i
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:253:27: error: ‘lo’ was not declared in this scope; did you mean ‘log’?
  253 |         return (int8_t) ((lo[0] & 0xff) +
      |                           ^~
      |                           log
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:254:27: error: ‘hi’ was not declared in this scope
  254 |                          (hi[0] & 0xff) +
      |                           ^~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:287:23: error: ‘__m256i’ does not name a type
  287 |     using vSIMDType = __m256i;
      |                       ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:293:25: error: ‘__m256i’ does not name a type
  293 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE ssign (__m256i a) noexcept                              { return _mm256_xor_si256 (a, load (kHighBit)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:294:25: error: ‘__m256i’ does not name a type
  294 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE expand (uint8_t s) noexcept                             { return _mm256_set1_epi8 ((int8_t) s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:295:25: error: ‘__m256i’ does not name a type
  295 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE load (const uint8_t* p) noexcept                        { return _mm256_load_si256 (reinterpret_cast<const __m256i*> (p)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:296:58: error: ‘__m256i’ has not been declared
  296 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, uint8_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                          ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:297:25: error: ‘__m256i’ does not name a type
  297 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE add (__m256i a, __m256i b) noexcept                     { return _mm256_add_epi8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:298:25: error: ‘__m256i’ does not name a type
  298 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE sub (__m256i a, __m256i b) noexcept                     { return _mm256_sub_epi8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:299:25: error: ‘__m256i’ does not name a type
  299 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_and (__m256i a, __m256i b) noexcept                 { return _mm256_and_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:300:25: error: ‘__m256i’ does not name a type
  300 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_or  (__m256i a, __m256i b) noexcept                 { return _mm256_or_si256  (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:301:25: error: ‘__m256i’ does not name a type
  301 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_xor (__m256i a, __m256i b) noexcept                 { return _mm256_xor_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:302:25: error: ‘__m256i’ does not name a type
  302 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_andnot (__m256i a, __m256i b) noexcept              { return _mm256_andnot_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:303:25: error: ‘__m256i’ does not name a type
  303 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_not (__m256i a) noexcept                            { return _mm256_andnot_si256 (a, load (kAllBitsSet)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:304:25: error: ‘__m256i’ does not name a type
  304 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE min (__m256i a, __m256i b) noexcept                     { return _mm256_min_epu8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:305:25: error: ‘__m256i’ does not name a type
  305 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE max (__m256i a, __m256i b) noexcept                     { return _mm256_max_epu8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:306:25: error: ‘__m256i’ does not name a type
  306 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE equal (__m256i a, __m256i b) noexcept                   { return _mm256_cmpeq_epi8 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:307:25: error: ‘__m256i’ does not name a type
  307 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE greaterThan (__m256i a, __m256i b) noexcept             { return _mm256_cmpgt_epi8 (ssign (a), ssign (b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:308:25: error: ‘__m256i’ does not name a type
  308 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE greaterThanOrEqual (__m256i a, __m256i b) noexcept      { return bit_or (greaterThan (a, b), equal (a,b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:309:64: error: ‘__m256i’ has not been declared
  309 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:309:75: error: ‘__m256i’ has not been declared
  309 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:310:25: error: ‘__m256i’ does not name a type
  310 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE multiplyAdd (__m256i a, __m256i b, __m256i c) noexcept  { return add (a, mul (b, c)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:311:25: error: ‘__m256i’ does not name a type
  311 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE notEqual (__m256i a, __m256i b) noexcept                { return bit_not (equal (a, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:312:59: error: ‘__m256i’ has not been declared
  312 |     static forcedinline uint8_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint8_t, __m256i>::get (v, i); }
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:313:25: error: ‘__m256i’ does not name a type
  313 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE set (__m256i v, size_t i, uint8_t s) noexcept           { return SIMDFallbackOps<uint8_t, __m256i>::set (v, i, s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:314:25: error: ‘__m256i’ does not name a type
  314 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept                           { return a; }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:317:59: error: ‘__m256i’ has not been declared
  317 |     static forcedinline uint8_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:343:25: error: ‘__m256i’ does not name a type
  343 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE mul (__m256i a, __m256i b)
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static void juce::dsp::SIMDNativeOps<unsigned char>::store(int, uint8_t*)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:296:149: error: ‘__m256i’ does not name a type
  296 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, uint8_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                     ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:296:156: error: expected ‘>’ before ‘*’ token
  296 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, uint8_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                            ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:296:156: error: expected ‘(’ before ‘*’ token
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:296:157: error: expected primary-expression before ‘>’ token
  296 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, uint8_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                             ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static bool juce::dsp::SIMDNativeOps<unsigned char>::allEqual(int, int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:309:142: error: ‘equal’ was not declared in this scope; did you mean ‘std::equal’?
  309 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                                              ^~~~~
      |                                                                                                                                              std::equal
/usr/include/c++/12/pstl/glue_algorithm_defs.h:347:1: note: ‘std::equal’ declared here
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:309:120: error: ‘_mm256_movemask_epi8’ was not declared in this scope
  309 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static uint8_t juce::dsp::SIMDNativeOps<unsigned char>::get(int, size_t)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:312:119: error: ‘SIMDFallbackOps’ was not declared in this scope
  312 |     static forcedinline uint8_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint8_t, __m256i>::get (v, i); }
      |                                                                                                                       ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:312:142: error: expected primary-expression before ‘,’ token
  312 |     static forcedinline uint8_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint8_t, __m256i>::get (v, i); }
      |                                                                                                                                              ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:312:144: error: ‘__m256i’ was not declared in this scope
  312 |     static forcedinline uint8_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint8_t, __m256i>::get (v, i); }
      |                                                                                                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:312:154: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  312 |     static forcedinline uint8_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint8_t, __m256i>::get (v, i); }
      |                                                                                                                                                          ^~~
      |                                                                                                                                                          std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static uint8_t juce::dsp::SIMDNativeOps<unsigned char>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:319:9: error: ‘__m256i’ was not declared in this scope
  319 |         __m256i lo = _mm256_unpacklo_epi8 (a, _mm256_setzero_si256());
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:320:17: error: expected ‘;’ before ‘hi’
  320 |         __m256i hi = _mm256_unpackhi_epi8 (a, _mm256_setzero_si256());
      |                 ^~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:324:13: error: ‘lo’ was not declared in this scope; did you mean ‘log’?
  324 |             lo = _mm256_hadd_epi16 (lo, lo);
      |             ^~
      |             log
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:324:18: error: ‘_mm256_hadd_epi16’ was not declared in this scope
  324 |             lo = _mm256_hadd_epi16 (lo, lo);
      |                  ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:325:13: error: ‘hi’ was not declared in this scope; did you mean ‘i’?
  325 |             hi = _mm256_hadd_epi16 (hi, hi);
      |             ^~
      |             i
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:329:51: error: ‘lo’ was not declared in this scope; did you mean ‘log’?
  329 |         return (uint8_t) ((static_cast<uint32_t> (lo[0]) & 0xffu) +
      |                                                   ^~
      |                                                   log
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:330:51: error: ‘hi’ was not declared in this scope
  330 |                           (static_cast<uint32_t> (hi[0]) & 0xffu) +
      |                                                   ^~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:363:23: error: ‘__m256i’ does not name a type
  363 |     using vSIMDType = __m256i;
      |                       ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:369:25: error: ‘__m256i’ does not name a type
  369 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE expand (int16_t s) noexcept                             { return _mm256_set1_epi16 (s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:370:25: error: ‘__m256i’ does not name a type
  370 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE load (const int16_t* p) noexcept                        { return _mm256_load_si256 (reinterpret_cast<const __m256i*> (p)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:371:58: error: ‘__m256i’ has not been declared
  371 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, int16_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                          ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:372:25: error: ‘__m256i’ does not name a type
  372 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE add (__m256i a, __m256i b) noexcept                     { return _mm256_add_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:373:25: error: ‘__m256i’ does not name a type
  373 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE sub (__m256i a, __m256i b) noexcept                     { return _mm256_sub_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:374:25: error: ‘__m256i’ does not name a type
  374 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE mul (__m256i a, __m256i b) noexcept                     { return _mm256_mullo_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:375:25: error: ‘__m256i’ does not name a type
  375 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_and (__m256i a, __m256i b) noexcept                 { return _mm256_and_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:376:25: error: ‘__m256i’ does not name a type
  376 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_or  (__m256i a, __m256i b) noexcept                 { return _mm256_or_si256  (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:377:25: error: ‘__m256i’ does not name a type
  377 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_xor (__m256i a, __m256i b) noexcept                 { return _mm256_xor_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:378:25: error: ‘__m256i’ does not name a type
  378 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_andnot (__m256i a, __m256i b) noexcept              { return _mm256_andnot_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:379:25: error: ‘__m256i’ does not name a type
  379 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_not (__m256i a) noexcept                            { return _mm256_andnot_si256 (a, load (kAllBitsSet)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:380:25: error: ‘__m256i’ does not name a type
  380 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE min (__m256i a, __m256i b) noexcept                     { return _mm256_min_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:381:25: error: ‘__m256i’ does not name a type
  381 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE max (__m256i a, __m256i b) noexcept                     { return _mm256_max_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:382:25: error: ‘__m256i’ does not name a type
  382 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE equal (__m256i a, __m256i b) noexcept                   { return _mm256_cmpeq_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:383:25: error: ‘__m256i’ does not name a type
  383 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE greaterThan (__m256i a, __m256i b) noexcept             { return _mm256_cmpgt_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:384:25: error: ‘__m256i’ does not name a type
  384 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE greaterThanOrEqual (__m256i a, __m256i b) noexcept      { return bit_or (greaterThan (a, b), equal (a,b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:385:25: error: ‘__m256i’ does not name a type
  385 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE multiplyAdd (__m256i a, __m256i b, __m256i c) noexcept  { return add (a, mul (b, c)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:386:25: error: ‘__m256i’ does not name a type
  386 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE notEqual (__m256i a, __m256i b) noexcept                { return bit_not (equal (a, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:387:64: error: ‘__m256i’ has not been declared
  387 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:387:75: error: ‘__m256i’ has not been declared
  387 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:388:59: error: ‘__m256i’ has not been declared
  388 |     static forcedinline int16_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int16_t, __m256i>::get (v, i); }
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:389:25: error: ‘__m256i’ does not name a type
  389 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE set (__m256i v, size_t i, int16_t s) noexcept           { return SIMDFallbackOps<int16_t, __m256i>::set (v, i, s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:390:25: error: ‘__m256i’ does not name a type
  390 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept                           { return a; }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:393:59: error: ‘__m256i’ has not been declared
  393 |     static forcedinline int16_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static void juce::dsp::SIMDNativeOps<short int>::store(int, int16_t*)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:371:149: error: ‘__m256i’ does not name a type
  371 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, int16_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                     ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:371:156: error: expected ‘>’ before ‘*’ token
  371 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, int16_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                            ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:371:156: error: expected ‘(’ before ‘*’ token
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:371:157: error: expected primary-expression before ‘>’ token
  371 |     static forcedinline void JUCE_VECTOR_CALLTYPE store (__m256i value, int16_t* dest) noexcept              { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                             ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static bool juce::dsp::SIMDNativeOps<short int>::allEqual(int, int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:387:142: error: ‘equal’ was not declared in this scope; did you mean ‘std::equal’?
  387 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                                              ^~~~~
      |                                                                                                                                              std::equal
/usr/include/c++/12/pstl/glue_algorithm_defs.h:347:1: note: ‘std::equal’ declared here
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:387:120: error: ‘_mm256_movemask_epi8’ was not declared in this scope
  387 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static int16_t juce::dsp::SIMDNativeOps<short int>::get(int, size_t)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:388:119: error: ‘SIMDFallbackOps’ was not declared in this scope
  388 |     static forcedinline int16_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int16_t, __m256i>::get (v, i); }
      |                                                                                                                       ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:388:142: error: expected primary-expression before ‘,’ token
  388 |     static forcedinline int16_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int16_t, __m256i>::get (v, i); }
      |                                                                                                                                              ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:388:144: error: ‘__m256i’ was not declared in this scope
  388 |     static forcedinline int16_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int16_t, __m256i>::get (v, i); }
      |                                                                                                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:388:154: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  388 |     static forcedinline int16_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int16_t, __m256i>::get (v, i); }
      |                                                                                                                                                          ^~~
      |                                                                                                                                                          std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static int16_t juce::dsp::SIMDNativeOps<short int>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:395:9: error: ‘__m256i’ was not declared in this scope
  395 |         __m256i tmp = _mm256_hadd_epi16 (a, a);
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:396:9: error: ‘tmp’ was not declared in this scope; did you mean ‘tm’?
  396 |         tmp = _mm256_hadd_epi16 (tmp, tmp);
      |         ^~~
      |         tm
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:396:15: error: ‘_mm256_hadd_epi16’ was not declared in this scope
  396 |         tmp = _mm256_hadd_epi16 (tmp, tmp);
      |               ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:419:23: error: ‘__m256i’ does not name a type
  419 |     using vSIMDType = __m256i;
      |                       ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:426:25: error: ‘__m256i’ does not name a type
  426 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE ssign (__m256i a) noexcept                              { return _mm256_xor_si256 (a, load (kHighBit)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:427:25: error: ‘__m256i’ does not name a type
  427 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE expand (uint16_t s) noexcept                            { return _mm256_set1_epi16 ((int16_t) s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:428:25: error: ‘__m256i’ does not name a type
  428 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE load (const uint16_t* p) noexcept                       { return _mm256_load_si256 (reinterpret_cast<const __m256i*> (p)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:429:62: error: ‘__m256i’ has not been declared
  429 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint16_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                              ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:430:25: error: ‘__m256i’ does not name a type
  430 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE add (__m256i a, __m256i b) noexcept                     { return _mm256_add_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:431:25: error: ‘__m256i’ does not name a type
  431 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE sub (__m256i a, __m256i b) noexcept                     { return _mm256_sub_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:432:25: error: ‘__m256i’ does not name a type
  432 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE mul (__m256i a, __m256i b) noexcept                     { return _mm256_mullo_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:433:25: error: ‘__m256i’ does not name a type
  433 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_and (__m256i a, __m256i b) noexcept                 { return _mm256_and_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:434:25: error: ‘__m256i’ does not name a type
  434 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_or  (__m256i a, __m256i b) noexcept                 { return _mm256_or_si256  (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:435:25: error: ‘__m256i’ does not name a type
  435 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_xor (__m256i a, __m256i b) noexcept                 { return _mm256_xor_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:436:25: error: ‘__m256i’ does not name a type
  436 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_andnot (__m256i a, __m256i b) noexcept              { return _mm256_andnot_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:437:25: error: ‘__m256i’ does not name a type
  437 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_not (__m256i a) noexcept                            { return _mm256_andnot_si256 (a, load (kAllBitsSet)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:438:25: error: ‘__m256i’ does not name a type
  438 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE min (__m256i a, __m256i b) noexcept                     { return _mm256_min_epu16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:439:25: error: ‘__m256i’ does not name a type
  439 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE max (__m256i a, __m256i b) noexcept                     { return _mm256_max_epu16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:440:25: error: ‘__m256i’ does not name a type
  440 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE equal (__m256i a, __m256i b) noexcept                   { return _mm256_cmpeq_epi16 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:441:25: error: ‘__m256i’ does not name a type
  441 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE greaterThan (__m256i a, __m256i b) noexcept             { return _mm256_cmpgt_epi16 (ssign (a), ssign (b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:442:25: error: ‘__m256i’ does not name a type
  442 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE greaterThanOrEqual (__m256i a, __m256i b) noexcept      { return bit_or (greaterThan (a, b), equal (a,b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:443:25: error: ‘__m256i’ does not name a type
  443 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE multiplyAdd (__m256i a, __m256i b, __m256i c) noexcept  { return add (a, mul (b, c)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:444:25: error: ‘__m256i’ does not name a type
  444 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE notEqual (__m256i a, __m256i b) noexcept                { return bit_not (equal (a, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:445:65: error: ‘__m256i’ has not been declared
  445 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                 ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:445:76: error: ‘__m256i’ has not been declared
  445 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:446:60: error: ‘__m256i’ has not been declared
  446 |     static forcedinline uint16_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint16_t, __m256i>::get (v, i); }
      |                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:447:25: error: ‘__m256i’ does not name a type
  447 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE set (__m256i v, size_t i, uint16_t s) noexcept          { return SIMDFallbackOps<uint16_t, __m256i>::set (v, i, s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:448:25: error: ‘__m256i’ does not name a type
  448 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept                            { return a; }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:451:60: error: ‘__m256i’ has not been declared
  451 |     static forcedinline uint16_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept
      |                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static void juce::dsp::SIMDNativeOps<short unsigned int>::store(int, uint16_t*)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:429:150: error: ‘__m256i’ does not name a type
  429 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint16_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                      ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:429:157: error: expected ‘>’ before ‘*’ token
  429 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint16_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                             ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:429:157: error: expected ‘(’ before ‘*’ token
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:429:158: error: expected primary-expression before ‘>’ token
  429 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint16_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                              ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static bool juce::dsp::SIMDNativeOps<short unsigned int>::allEqual(int, int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:445:143: error: ‘equal’ was not declared in this scope; did you mean ‘std::equal’?
  445 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                                               ^~~~~
      |                                                                                                                                               std::equal
/usr/include/c++/12/pstl/glue_algorithm_defs.h:347:1: note: ‘std::equal’ declared here
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:445:121: error: ‘_mm256_movemask_epi8’ was not declared in this scope
  445 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                         ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static uint16_t juce::dsp::SIMDNativeOps<short unsigned int>::get(int, size_t)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:446:120: error: ‘SIMDFallbackOps’ was not declared in this scope
  446 |     static forcedinline uint16_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint16_t, __m256i>::get (v, i); }
      |                                                                                                                        ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:446:144: error: expected primary-expression before ‘,’ token
  446 |     static forcedinline uint16_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint16_t, __m256i>::get (v, i); }
      |                                                                                                                                                ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:446:146: error: ‘__m256i’ was not declared in this scope
  446 |     static forcedinline uint16_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint16_t, __m256i>::get (v, i); }
      |                                                                                                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:446:156: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  446 |     static forcedinline uint16_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint16_t, __m256i>::get (v, i); }
      |                                                                                                                                                            ^~~
      |                                                                                                                                                            std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static uint16_t juce::dsp::SIMDNativeOps<short unsigned int>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:453:9: error: ‘__m256i’ was not declared in this scope
  453 |         __m256i tmp = _mm256_hadd_epi16 (a, a);
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:454:9: error: ‘tmp’ was not declared in this scope; did you mean ‘tm’?
  454 |         tmp = _mm256_hadd_epi16 (tmp, tmp);
      |         ^~~
      |         tm
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:454:15: error: ‘_mm256_hadd_epi16’ was not declared in this scope
  454 |         tmp = _mm256_hadd_epi16 (tmp, tmp);
      |               ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:478:23: error: ‘__m256i’ does not name a type
  478 |     using vSIMDType = __m256i;
      |                       ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:484:25: error: ‘__m256i’ does not name a type
  484 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE expand (int32_t s) noexcept                             { return _mm256_set1_epi32 (s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:485:25: error: ‘__m256i’ does not name a type
  485 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE load (const int32_t* p) noexcept                        { return _mm256_load_si256 (reinterpret_cast<const __m256i*> (p)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:486:61: error: ‘__m256i’ has not been declared
  486 |     static forcedinline void    JUCE_VECTOR_CALLTYPE store (__m256i value, int32_t* dest) noexcept           { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                             ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:487:25: error: ‘__m256i’ does not name a type
  487 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE add (__m256i a, __m256i b) noexcept                     { return _mm256_add_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:488:25: error: ‘__m256i’ does not name a type
  488 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE sub (__m256i a, __m256i b) noexcept                     { return _mm256_sub_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:489:25: error: ‘__m256i’ does not name a type
  489 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE mul (__m256i a, __m256i b) noexcept                     { return _mm256_mullo_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:490:25: error: ‘__m256i’ does not name a type
  490 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_and (__m256i a, __m256i b) noexcept                 { return _mm256_and_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:491:25: error: ‘__m256i’ does not name a type
  491 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_or  (__m256i a, __m256i b) noexcept                 { return _mm256_or_si256  (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:492:25: error: ‘__m256i’ does not name a type
  492 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_xor (__m256i a, __m256i b) noexcept                 { return _mm256_xor_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:493:25: error: ‘__m256i’ does not name a type
  493 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_andnot (__m256i a, __m256i b) noexcept              { return _mm256_andnot_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:494:25: error: ‘__m256i’ does not name a type
  494 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_not (__m256i a) noexcept                            { return _mm256_andnot_si256 (a, load (kAllBitsSet)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:495:25: error: ‘__m256i’ does not name a type
  495 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE min (__m256i a, __m256i b) noexcept                     { return _mm256_min_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:496:25: error: ‘__m256i’ does not name a type
  496 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE max (__m256i a, __m256i b) noexcept                     { return _mm256_max_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:497:25: error: ‘__m256i’ does not name a type
  497 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE equal (__m256i a, __m256i b) noexcept                   { return _mm256_cmpeq_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:498:25: error: ‘__m256i’ does not name a type
  498 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE greaterThan (__m256i a, __m256i b) noexcept             { return _mm256_cmpgt_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:499:25: error: ‘__m256i’ does not name a type
  499 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE greaterThanOrEqual (__m256i a, __m256i b) noexcept      { return bit_or (greaterThan (a, b), equal (a,b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:500:25: error: ‘__m256i’ does not name a type
  500 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE multiplyAdd (__m256i a, __m256i b, __m256i c) noexcept  { return add (a, mul (b, c)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:501:25: error: ‘__m256i’ does not name a type
  501 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE notEqual (__m256i a, __m256i b) noexcept                { return bit_not (equal (a, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:502:64: error: ‘__m256i’ has not been declared
  502 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:502:75: error: ‘__m256i’ has not been declared
  502 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:503:59: error: ‘__m256i’ has not been declared
  503 |     static forcedinline int32_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int32_t, __m256i>::get (v, i); }
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:504:25: error: ‘__m256i’ does not name a type
  504 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE set (__m256i v, size_t i, int32_t s) noexcept           { return SIMDFallbackOps<int32_t, __m256i>::set (v, i, s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:505:25: error: ‘__m256i’ does not name a type
  505 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept                           { return a; }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:508:59: error: ‘__m256i’ has not been declared
  508 |     static forcedinline int32_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static void juce::dsp::SIMDNativeOps<int>::store(int, int32_t*)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:486:149: error: ‘__m256i’ does not name a type
  486 |     static forcedinline void    JUCE_VECTOR_CALLTYPE store (__m256i value, int32_t* dest) noexcept           { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                     ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:486:156: error: expected ‘>’ before ‘*’ token
  486 |     static forcedinline void    JUCE_VECTOR_CALLTYPE store (__m256i value, int32_t* dest) noexcept           { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                            ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:486:156: error: expected ‘(’ before ‘*’ token
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:486:157: error: expected primary-expression before ‘>’ token
  486 |     static forcedinline void    JUCE_VECTOR_CALLTYPE store (__m256i value, int32_t* dest) noexcept           { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                             ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static bool juce::dsp::SIMDNativeOps<int>::allEqual(int, int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:502:142: error: ‘equal’ was not declared in this scope; did you mean ‘std::equal’?
  502 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                                              ^~~~~
      |                                                                                                                                              std::equal
/usr/include/c++/12/pstl/glue_algorithm_defs.h:347:1: note: ‘std::equal’ declared here
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:502:120: error: ‘_mm256_movemask_epi8’ was not declared in this scope
  502 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static int32_t juce::dsp::SIMDNativeOps<int>::get(int, size_t)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:503:119: error: ‘SIMDFallbackOps’ was not declared in this scope
  503 |     static forcedinline int32_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int32_t, __m256i>::get (v, i); }
      |                                                                                                                       ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:503:142: error: expected primary-expression before ‘,’ token
  503 |     static forcedinline int32_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int32_t, __m256i>::get (v, i); }
      |                                                                                                                                              ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:503:144: error: ‘__m256i’ was not declared in this scope
  503 |     static forcedinline int32_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int32_t, __m256i>::get (v, i); }
      |                                                                                                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:503:154: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  503 |     static forcedinline int32_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int32_t, __m256i>::get (v, i); }
      |                                                                                                                                                          ^~~
      |                                                                                                                                                          std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static int32_t juce::dsp::SIMDNativeOps<int>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:510:9: error: ‘__m256i’ was not declared in this scope
  510 |         __m256i tmp = _mm256_hadd_epi32 (a, a);
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:511:9: error: ‘tmp’ was not declared in this scope; did you mean ‘tm’?
  511 |         tmp = _mm256_hadd_epi32 (tmp, tmp);
      |         ^~~
      |         tm
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:511:15: error: ‘_mm256_hadd_epi32’ was not declared in this scope
  511 |         tmp = _mm256_hadd_epi32 (tmp, tmp);
      |               ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:532:23: error: ‘__m256i’ does not name a type
  532 |     using vSIMDType = __m256i;
      |                       ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:539:25: error: ‘__m256i’ does not name a type
  539 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE ssign (__m256i a) noexcept                              { return _mm256_xor_si256 (a, load (kHighBit)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:540:25: error: ‘__m256i’ does not name a type
  540 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE expand (uint32_t s) noexcept                            { return _mm256_set1_epi32 ((int32_t) s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:541:25: error: ‘__m256i’ does not name a type
  541 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE load (const uint32_t* p) noexcept                       { return _mm256_load_si256 (reinterpret_cast<const __m256i*> (p)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:542:62: error: ‘__m256i’ has not been declared
  542 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint32_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                              ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:543:25: error: ‘__m256i’ does not name a type
  543 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE add (__m256i a, __m256i b) noexcept                     { return _mm256_add_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:544:25: error: ‘__m256i’ does not name a type
  544 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE sub (__m256i a, __m256i b) noexcept                     { return _mm256_sub_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:545:25: error: ‘__m256i’ does not name a type
  545 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE mul (__m256i a, __m256i b) noexcept                     { return _mm256_mullo_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:546:25: error: ‘__m256i’ does not name a type
  546 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_and (__m256i a, __m256i b) noexcept                 { return _mm256_and_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:547:25: error: ‘__m256i’ does not name a type
  547 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_or  (__m256i a, __m256i b) noexcept                 { return _mm256_or_si256  (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:548:25: error: ‘__m256i’ does not name a type
  548 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_xor (__m256i a, __m256i b) noexcept                 { return _mm256_xor_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:549:25: error: ‘__m256i’ does not name a type
  549 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_andnot (__m256i a, __m256i b) noexcept              { return _mm256_andnot_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:550:25: error: ‘__m256i’ does not name a type
  550 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_not (__m256i a) noexcept                            { return _mm256_andnot_si256 (a, load (kAllBitsSet)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:551:25: error: ‘__m256i’ does not name a type
  551 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE min (__m256i a, __m256i b) noexcept                     { return _mm256_min_epu32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:552:25: error: ‘__m256i’ does not name a type
  552 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE max (__m256i a, __m256i b) noexcept                     { return _mm256_max_epu32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:553:25: error: ‘__m256i’ does not name a type
  553 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE equal (__m256i a, __m256i b) noexcept                   { return _mm256_cmpeq_epi32 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:554:25: error: ‘__m256i’ does not name a type
  554 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE greaterThan (__m256i a, __m256i b) noexcept             { return _mm256_cmpgt_epi32 (ssign (a), ssign (b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:555:25: error: ‘__m256i’ does not name a type
  555 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE greaterThanOrEqual (__m256i a, __m256i b) noexcept      { return bit_or (greaterThan (a, b), equal (a,b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:556:25: error: ‘__m256i’ does not name a type
  556 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE multiplyAdd (__m256i a, __m256i b, __m256i c) noexcept  { return add (a, mul (b, c)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:557:25: error: ‘__m256i’ does not name a type
  557 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE notEqual (__m256i a, __m256i b) noexcept                { return bit_not (equal (a, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:558:65: error: ‘__m256i’ has not been declared
  558 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                 ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:558:76: error: ‘__m256i’ has not been declared
  558 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:559:60: error: ‘__m256i’ has not been declared
  559 |     static forcedinline uint32_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint32_t, __m256i>::get (v, i); }
      |                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:560:25: error: ‘__m256i’ does not name a type
  560 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE set (__m256i v, size_t i, uint32_t s) noexcept          { return SIMDFallbackOps<uint32_t, __m256i>::set (v, i, s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:561:25: error: ‘__m256i’ does not name a type
  561 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept                            { return a; }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:564:60: error: ‘__m256i’ has not been declared
  564 |     static forcedinline uint32_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept
      |                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static void juce::dsp::SIMDNativeOps<unsigned int>::store(int, uint32_t*)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:542:150: error: ‘__m256i’ does not name a type
  542 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint32_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                      ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:542:157: error: expected ‘>’ before ‘*’ token
  542 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint32_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                             ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:542:157: error: expected ‘(’ before ‘*’ token
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:542:158: error: expected primary-expression before ‘>’ token
  542 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint32_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                              ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static bool juce::dsp::SIMDNativeOps<unsigned int>::allEqual(int, int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:558:143: error: ‘equal’ was not declared in this scope; did you mean ‘std::equal’?
  558 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                                               ^~~~~
      |                                                                                                                                               std::equal
/usr/include/c++/12/pstl/glue_algorithm_defs.h:347:1: note: ‘std::equal’ declared here
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:558:121: error: ‘_mm256_movemask_epi8’ was not declared in this scope
  558 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                         ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static uint32_t juce::dsp::SIMDNativeOps<unsigned int>::get(int, size_t)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:559:120: error: ‘SIMDFallbackOps’ was not declared in this scope
  559 |     static forcedinline uint32_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint32_t, __m256i>::get (v, i); }
      |                                                                                                                        ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:559:144: error: expected primary-expression before ‘,’ token
  559 |     static forcedinline uint32_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint32_t, __m256i>::get (v, i); }
      |                                                                                                                                                ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:559:146: error: ‘__m256i’ was not declared in this scope
  559 |     static forcedinline uint32_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint32_t, __m256i>::get (v, i); }
      |                                                                                                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:559:156: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  559 |     static forcedinline uint32_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint32_t, __m256i>::get (v, i); }
      |                                                                                                                                                            ^~~
      |                                                                                                                                                            std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static uint32_t juce::dsp::SIMDNativeOps<unsigned int>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:566:9: error: ‘__m256i’ was not declared in this scope
  566 |         __m256i tmp = _mm256_hadd_epi32 (a, a);
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:567:9: error: ‘tmp’ was not declared in this scope; did you mean ‘tm’?
  567 |         tmp = _mm256_hadd_epi32 (tmp, tmp);
      |         ^~~
      |         tm
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:567:15: error: ‘_mm256_hadd_epi32’ was not declared in this scope
  567 |         tmp = _mm256_hadd_epi32 (tmp, tmp);
      |               ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:589:23: error: ‘__m256i’ does not name a type
  589 |     using vSIMDType = __m256i;
      |                       ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:594:25: error: ‘__m256i’ does not name a type
  594 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE expand (int64_t s) noexcept                             { return _mm256_set1_epi64x ((int64_t) s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:595:25: error: ‘__m256i’ does not name a type
  595 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE load (const int64_t* p) noexcept                        { return _mm256_load_si256 (reinterpret_cast<const __m256i*> (p)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:596:61: error: ‘__m256i’ has not been declared
  596 |     static forcedinline void    JUCE_VECTOR_CALLTYPE store (__m256i value, int64_t* dest) noexcept           { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                             ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:597:25: error: ‘__m256i’ does not name a type
  597 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE add (__m256i a, __m256i b) noexcept                     { return _mm256_add_epi64 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:598:25: error: ‘__m256i’ does not name a type
  598 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE sub (__m256i a, __m256i b) noexcept                     { return _mm256_sub_epi64 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:599:25: error: ‘__m256i’ does not name a type
  599 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_and (__m256i a, __m256i b) noexcept                 { return _mm256_and_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:600:25: error: ‘__m256i’ does not name a type
  600 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_or  (__m256i a, __m256i b) noexcept                 { return _mm256_or_si256  (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:601:25: error: ‘__m256i’ does not name a type
  601 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_xor (__m256i a, __m256i b) noexcept                 { return _mm256_xor_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:602:25: error: ‘__m256i’ does not name a type
  602 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_andnot (__m256i a, __m256i b) noexcept              { return _mm256_andnot_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:603:25: error: ‘__m256i’ does not name a type
  603 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE bit_not (__m256i a) noexcept                            { return _mm256_andnot_si256 (a, load (kAllBitsSet)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:604:25: error: ‘__m256i’ does not name a type
  604 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE min (__m256i a, __m256i b) noexcept                     { __m256i lt = greaterThan (b, a); return bit_or (bit_and (lt, a), bit_andnot (lt, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:605:25: error: ‘__m256i’ does not name a type
  605 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE max (__m256i a, __m256i b) noexcept                     { __m256i gt = greaterThan (a, b); return bit_or (bit_and (gt, a), bit_andnot (gt, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:606:25: error: ‘__m256i’ does not name a type
  606 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE equal (__m256i a, __m256i b) noexcept                   { return _mm256_cmpeq_epi64 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:607:25: error: ‘__m256i’ does not name a type
  607 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE greaterThan (__m256i a, __m256i b) noexcept             { return _mm256_cmpgt_epi64 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:608:25: error: ‘__m256i’ does not name a type
  608 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE greaterThanOrEqual (__m256i a, __m256i b) noexcept      { return bit_or (greaterThan (a, b), equal (a,b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:609:25: error: ‘__m256i’ does not name a type
  609 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE multiplyAdd (__m256i a, __m256i b, __m256i c) noexcept  { return add (a, mul (b, c)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:610:25: error: ‘__m256i’ does not name a type
  610 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE notEqual (__m256i a, __m256i b) noexcept                { return bit_not (equal (a, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:611:64: error: ‘__m256i’ has not been declared
  611 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:611:75: error: ‘__m256i’ has not been declared
  611 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:612:59: error: ‘__m256i’ has not been declared
  612 |     static forcedinline int64_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int64_t, __m256i>::get (v, i); }
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:613:25: error: ‘__m256i’ does not name a type
  613 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE set (__m256i v, size_t i, int64_t s) noexcept           { return SIMDFallbackOps<int64_t, __m256i>::set (v, i, s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:614:59: error: ‘__m256i’ has not been declared
  614 |     static forcedinline int64_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept                                { return SIMDFallbackOps<int64_t, __m256i>::sum (a); }
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:615:25: error: ‘__m256i’ does not name a type
  615 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE mul (__m256i a, __m256i b) noexcept                     { return SIMDFallbackOps<int64_t, __m256i>::mul (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:616:25: error: ‘__m256i’ does not name a type
  616 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept                           { return a; }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static void juce::dsp::SIMDNativeOps<long long int>::store(int, int64_t*)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:596:149: error: ‘__m256i’ does not name a type
  596 |     static forcedinline void    JUCE_VECTOR_CALLTYPE store (__m256i value, int64_t* dest) noexcept           { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                     ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:596:156: error: expected ‘>’ before ‘*’ token
  596 |     static forcedinline void    JUCE_VECTOR_CALLTYPE store (__m256i value, int64_t* dest) noexcept           { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                            ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:596:156: error: expected ‘(’ before ‘*’ token
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:596:157: error: expected primary-expression before ‘>’ token
  596 |     static forcedinline void    JUCE_VECTOR_CALLTYPE store (__m256i value, int64_t* dest) noexcept           { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                             ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static bool juce::dsp::SIMDNativeOps<long long int>::allEqual(int, int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:611:142: error: ‘equal’ was not declared in this scope; did you mean ‘std::equal’?
  611 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                                              ^~~~~
      |                                                                                                                                              std::equal
/usr/include/c++/12/pstl/glue_algorithm_defs.h:347:1: note: ‘std::equal’ declared here
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:611:120: error: ‘_mm256_movemask_epi8’ was not declared in this scope
  611 |     static forcedinline bool    JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static int64_t juce::dsp::SIMDNativeOps<long long int>::get(int, size_t)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:612:119: error: ‘SIMDFallbackOps’ was not declared in this scope
  612 |     static forcedinline int64_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int64_t, __m256i>::get (v, i); }
      |                                                                                                                       ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:612:142: error: expected primary-expression before ‘,’ token
  612 |     static forcedinline int64_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int64_t, __m256i>::get (v, i); }
      |                                                                                                                                              ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:612:144: error: ‘__m256i’ was not declared in this scope
  612 |     static forcedinline int64_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int64_t, __m256i>::get (v, i); }
      |                                                                                                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:612:154: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  612 |     static forcedinline int64_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<int64_t, __m256i>::get (v, i); }
      |                                                                                                                                                          ^~~
      |                                                                                                                                                          std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static int64_t juce::dsp::SIMDNativeOps<long long int>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:614:119: error: ‘SIMDFallbackOps’ was not declared in this scope
  614 |     static forcedinline int64_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept                                { return SIMDFallbackOps<int64_t, __m256i>::sum (a); }
      |                                                                                                                       ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:614:142: error: expected primary-expression before ‘,’ token
  614 |     static forcedinline int64_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept                                { return SIMDFallbackOps<int64_t, __m256i>::sum (a); }
      |                                                                                                                                              ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:614:144: error: ‘__m256i’ was not declared in this scope
  614 |     static forcedinline int64_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept                                { return SIMDFallbackOps<int64_t, __m256i>::sum (a); }
      |                                                                                                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:614:154: error: ‘::sum’ has not been declared
  614 |     static forcedinline int64_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept                                { return SIMDFallbackOps<int64_t, __m256i>::sum (a); }
      |                                                                                                                                                          ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:628:23: error: ‘__m256i’ does not name a type
  628 |     using vSIMDType = __m256i;
      |                       ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:634:25: error: ‘__m256i’ does not name a type
  634 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE expand (uint64_t s) noexcept                            { return _mm256_set1_epi64x ((int64_t) s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:635:25: error: ‘__m256i’ does not name a type
  635 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE load (const uint64_t* p) noexcept                       { return _mm256_load_si256 (reinterpret_cast<const __m256i*> (p)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:636:62: error: ‘__m256i’ has not been declared
  636 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint64_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                              ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:637:25: error: ‘__m256i’ does not name a type
  637 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE ssign (__m256i a) noexcept                              { return _mm256_xor_si256 (a, load (kHighBit)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:638:25: error: ‘__m256i’ does not name a type
  638 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE add (__m256i a, __m256i b) noexcept                     { return _mm256_add_epi64 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:639:25: error: ‘__m256i’ does not name a type
  639 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE sub (__m256i a, __m256i b) noexcept                     { return _mm256_sub_epi64 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:640:25: error: ‘__m256i’ does not name a type
  640 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_and (__m256i a, __m256i b) noexcept                 { return _mm256_and_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:641:25: error: ‘__m256i’ does not name a type
  641 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_or  (__m256i a, __m256i b) noexcept                 { return _mm256_or_si256  (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:642:25: error: ‘__m256i’ does not name a type
  642 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_xor (__m256i a, __m256i b) noexcept                 { return _mm256_xor_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:643:25: error: ‘__m256i’ does not name a type
  643 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_andnot (__m256i a, __m256i b) noexcept              { return _mm256_andnot_si256 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:644:25: error: ‘__m256i’ does not name a type
  644 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE bit_not (__m256i a) noexcept                            { return _mm256_andnot_si256 (a, load (kAllBitsSet)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:645:25: error: ‘__m256i’ does not name a type
  645 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE min (__m256i a, __m256i b) noexcept                     { __m256i lt = greaterThan (b, a); return bit_or (bit_and (lt, a), bit_andnot (lt, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:646:25: error: ‘__m256i’ does not name a type
  646 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE max (__m256i a, __m256i b) noexcept                     { __m256i gt = greaterThan (a, b); return bit_or (bit_and (gt, a), bit_andnot (gt, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:647:25: error: ‘__m256i’ does not name a type
  647 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE equal (__m256i a, __m256i b) noexcept                   { return _mm256_cmpeq_epi64 (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:648:25: error: ‘__m256i’ does not name a type
  648 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE greaterThan (__m256i a, __m256i b) noexcept             { return _mm256_cmpgt_epi64 (ssign (a), ssign (b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:649:25: error: ‘__m256i’ does not name a type
  649 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE greaterThanOrEqual (__m256i a, __m256i b) noexcept      { return bit_or (greaterThan (a, b), equal (a,b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:650:25: error: ‘__m256i’ does not name a type
  650 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE multiplyAdd (__m256i a, __m256i b, __m256i c) noexcept  { return add (a, mul (b, c)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:651:25: error: ‘__m256i’ does not name a type
  651 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE notEqual (__m256i a, __m256i b) noexcept                { return bit_not (equal (a, b)); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:652:65: error: ‘__m256i’ has not been declared
  652 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                 ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:652:76: error: ‘__m256i’ has not been declared
  652 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:653:60: error: ‘__m256i’ has not been declared
  653 |     static forcedinline uint64_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint64_t, __m256i>::get (v, i); }
      |                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:654:25: error: ‘__m256i’ does not name a type
  654 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE set (__m256i v, size_t i, uint64_t s) noexcept          { return SIMDFallbackOps<uint64_t, __m256i>::set (v, i, s); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:655:60: error: ‘__m256i’ has not been declared
  655 |     static forcedinline uint64_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept                                { return SIMDFallbackOps<uint64_t, __m256i>::sum (a); }
      |                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:656:25: error: ‘__m256i’ does not name a type
  656 |     static forcedinline __m256i  JUCE_VECTOR_CALLTYPE mul (__m256i a, __m256i b) noexcept                     { return SIMDFallbackOps<uint64_t, __m256i>::mul (a, b); }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:657:25: error: ‘__m256i’ does not name a type
  657 |     static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept                            { return a; }
      |                         ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static void juce::dsp::SIMDNativeOps<long long unsigned int>::store(int, uint64_t*)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:636:150: error: ‘__m256i’ does not name a type
  636 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint64_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                      ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:636:157: error: expected ‘>’ before ‘*’ token
  636 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint64_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                             ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:636:157: error: expected ‘(’ before ‘*’ token
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:636:158: error: expected primary-expression before ‘>’ token
  636 |     static forcedinline void     JUCE_VECTOR_CALLTYPE store (__m256i value, uint64_t* dest) noexcept          { _mm256_store_si256 (reinterpret_cast<__m256i*> (dest), value); }
      |                                                                                                                                                              ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static bool juce::dsp::SIMDNativeOps<long long unsigned int>::allEqual(int, int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:652:143: error: ‘equal’ was not declared in this scope; did you mean ‘std::equal’?
  652 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                                               ^~~~~
      |                                                                                                                                               std::equal
/usr/include/c++/12/pstl/glue_algorithm_defs.h:347:1: note: ‘std::equal’ declared here
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:652:121: error: ‘_mm256_movemask_epi8’ was not declared in this scope
  652 |     static forcedinline bool     JUCE_VECTOR_CALLTYPE allEqual (__m256i a, __m256i b) noexcept                { return (_mm256_movemask_epi8 (equal (a, b)) == -1); }
      |                                                                                                                         ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static uint64_t juce::dsp::SIMDNativeOps<long long unsigned int>::get(int, size_t)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:653:120: error: ‘SIMDFallbackOps’ was not declared in this scope
  653 |     static forcedinline uint64_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint64_t, __m256i>::get (v, i); }
      |                                                                                                                        ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:653:144: error: expected primary-expression before ‘,’ token
  653 |     static forcedinline uint64_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint64_t, __m256i>::get (v, i); }
      |                                                                                                                                                ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:653:146: error: ‘__m256i’ was not declared in this scope
  653 |     static forcedinline uint64_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint64_t, __m256i>::get (v, i); }
      |                                                                                                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:653:156: error: ‘::get’ has not been declared; did you mean ‘std::get’?
  653 |     static forcedinline uint64_t JUCE_VECTOR_CALLTYPE get (__m256i v, size_t i) noexcept                      { return SIMDFallbackOps<uint64_t, __m256i>::get (v, i); }
      |                                                                                                                                                            ^~~
      |                                                                                                                                                            std::get
/usr/include/c++/12/array:421:5: note: ‘std::get’ declared here
  421 |     get(const array<_Tp, _Nm>&& __arr) noexcept
      |     ^~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h: In static member function ‘static uint64_t juce::dsp::SIMDNativeOps<long long unsigned int>::sum(int)’:
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:655:120: error: ‘SIMDFallbackOps’ was not declared in this scope
  655 |     static forcedinline uint64_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept                                { return SIMDFallbackOps<uint64_t, __m256i>::sum (a); }
      |                                                                                                                        ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:655:144: error: expected primary-expression before ‘,’ token
  655 |     static forcedinline uint64_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept                                { return SIMDFallbackOps<uint64_t, __m256i>::sum (a); }
      |                                                                                                                                                ^
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:655:146: error: ‘__m256i’ was not declared in this scope
  655 |     static forcedinline uint64_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept                                { return SIMDFallbackOps<uint64_t, __m256i>::sum (a); }
      |                                                                                                                                                  ^~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:655:156: error: ‘::sum’ has not been declared
  655 |     static forcedinline uint64_t JUCE_VECTOR_CALLTYPE sum (__m256i a) noexcept                                { return SIMDFallbackOps<uint64_t, __m256i>::sum (a); }
      |                                                                                                                                                            ^~~
In file included from /tmp/ix0IlalA8K/dump1.h:237:
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h: At global scope:
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h:64:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<unsigned int>’
   64 | struct SIMDNativeOps<uint32_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:529:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<unsigned int>’
  529 | struct SIMDNativeOps<uint32_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h:110:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<int>’
  110 | struct SIMDNativeOps<int32_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:475:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<int>’
  475 | struct SIMDNativeOps<int32_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h:157:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<signed char>’
  157 | struct SIMDNativeOps<int8_t>
      |        ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:211:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<signed char>’
  211 | struct SIMDNativeOps<int8_t>
      |        ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h:198:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<unsigned char>’
  198 | struct SIMDNativeOps<uint8_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:284:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<unsigned char>’
  284 | struct SIMDNativeOps<uint8_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h:239:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<short int>’
  239 | struct SIMDNativeOps<int16_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:360:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<short int>’
  360 | struct SIMDNativeOps<int16_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h:281:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<short unsigned int>’
  281 | struct SIMDNativeOps<uint16_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:416:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<short unsigned int>’
  416 | struct SIMDNativeOps<uint16_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h:322:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<long long int>’
  322 | struct SIMDNativeOps<int64_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:586:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<long long int>’
  586 | struct SIMDNativeOps<int64_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h:364:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<long long unsigned int>’
  364 | struct SIMDNativeOps<uint64_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:625:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<long long unsigned int>’
  625 | struct SIMDNativeOps<uint64_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h:405:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<float>’
  405 | struct SIMDNativeOps<float>
      |        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:64:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<float>’
   64 | struct SIMDNativeOps<float>
      |        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_neon_SIMDNativeOps.h:467:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<double>’
  467 | struct SIMDNativeOps<double>
      |        ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:144:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<double>’
  144 | struct SIMDNativeOps<double>
      |        ^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:238:
/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h:64:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<float>’
   64 | struct SIMDNativeOps<float>
      |        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:64:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<float>’
   64 | struct SIMDNativeOps<float>
      |        ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h:130:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<double>’
  130 | struct SIMDNativeOps<double>
      |        ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:144:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<double>’
  144 | struct SIMDNativeOps<double>
      |        ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h:197:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<signed char>’
  197 | struct SIMDNativeOps<int8_t>
      |        ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:211:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<signed char>’
  211 | struct SIMDNativeOps<int8_t>
      |        ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h:269:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<unsigned char>’
  269 | struct SIMDNativeOps<uint8_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:284:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<unsigned char>’
  284 | struct SIMDNativeOps<uint8_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h:339:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<short int>’
  339 | struct SIMDNativeOps<int16_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:360:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<short int>’
  360 | struct SIMDNativeOps<int16_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h:393:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<short unsigned int>’
  393 | struct SIMDNativeOps<uint16_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:416:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<short unsigned int>’
  416 | struct SIMDNativeOps<uint16_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h:454:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<int>’
  454 | struct SIMDNativeOps<int32_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:475:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<int>’
  475 | struct SIMDNativeOps<int32_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h:534:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<unsigned int>’
  534 | struct SIMDNativeOps<uint32_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:529:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<unsigned int>’
  529 | struct SIMDNativeOps<uint32_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h:616:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<long long int>’
  616 | struct SIMDNativeOps<int64_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:586:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<long long int>’
  586 | struct SIMDNativeOps<int64_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_sse_SIMDNativeOps.h:674:8: error: redefinition of ‘struct juce::dsp::SIMDNativeOps<long long unsigned int>’
  674 | struct SIMDNativeOps<uint64_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/native/juce_avx_SIMDNativeOps.h:625:8: note: previous definition of ‘struct juce::dsp::SIMDNativeOps<long long unsigned int>’
  625 | struct SIMDNativeOps<uint64_t>
      |        ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:239:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_Bias.h:44:7: error: redefinition of ‘class juce::dsp::Bias<FloatType>’
   44 | class Bias
      |       ^~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:260:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_Bias.h:44:7: note: previous definition of ‘class juce::dsp::Bias<FloatType>’
   44 | class Bias
      |       ^~~~
In file included from /tmp/ix0IlalA8K/dump1.h:240:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_FIRFilter.h:55:11: error: redefinition of ‘class juce::dsp::FIR::Filter<SampleType>’
   55 |     class Filter
      |           ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:264:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_FIRFilter.h:55:11: note: previous definition of ‘class juce::dsp::FIR::Filter<SampleType>’
   55 |     class Filter
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_FIRFilter.h:220:12: error: redefinition of ‘struct juce::dsp::FIR::Coefficients<NumericType>’
  220 |     struct Coefficients  : public ProcessorState
      |            ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_FIRFilter.h:220:12: note: previous definition of ‘struct juce::dsp::FIR::Coefficients<NumericType>’
  220 |     struct Coefficients  : public ProcessorState
      |            ^~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:241:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_Gain.h:38:7: error: redefinition of ‘class juce::dsp::Gain<FloatType>’
   38 | class Gain
      |       ^~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:261:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_Gain.h:38:7: note: previous definition of ‘class juce::dsp::Gain<FloatType>’
   38 | class Gain
      |       ^~~~
In file included from /tmp/ix0IlalA8K/dump1.h:242:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter.h:54:11: error: redefinition of ‘class juce::dsp::IIR::Filter<SampleType>’
   54 |     class Filter
      |           ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:263:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter.h:54:11: note: previous definition of ‘class juce::dsp::IIR::Filter<SampleType>’
   54 |     class Filter
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter.h:157:12: error: redefinition of ‘struct juce::dsp::IIR::Coefficients<NumericType>’
  157 |     struct Coefficients  : public ProcessorState
      |            ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter.h:157:12: note: previous definition of ‘struct juce::dsp::IIR::Coefficients<NumericType>’
  157 |     struct Coefficients  : public ProcessorState
      |            ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter.h:306:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:38:1: error: redefinition of ‘juce::dsp::IIR::Filter<SampleType>::Filter()’
   38 | Filter<SampleType>::Filter()
      | ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter.h:306:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:38:1: note: ‘juce::dsp::IIR::Filter<SampleType>::Filter()’ previously declared here
   38 | Filter<SampleType>::Filter()
      | ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:45:1: error: redefinition of ‘juce::dsp::IIR::Filter<SampleType>::Filter(CoefficientsPtr)’
   45 | Filter<SampleType>::Filter (CoefficientsPtr c)  : coefficients (std::move (c))
      | ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:45:1: note: ‘juce::dsp::IIR::Filter<SampleType>::Filter(CoefficientsPtr)’ previously declared here
   45 | Filter<SampleType>::Filter (CoefficientsPtr c)  : coefficients (std::move (c))
      | ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:51:6: error: redefinition of ‘void juce::dsp::IIR::Filter<SampleType>::reset(SampleType)’
   51 | void Filter<SampleType>::reset (SampleType resetToValue)
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:51:6: note: ‘void juce::dsp::IIR::Filter<SampleType>::reset(SampleType)’ previously declared here
   51 | void Filter<SampleType>::reset (SampleType resetToValue)
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:67:6: error: redefinition of ‘void juce::dsp::IIR::Filter<SampleType>::prepare(const juce::dsp::ProcessSpec&)’
   67 | void Filter<SampleType>::prepare (const ProcessSpec&) noexcept     { reset(); }
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:67:6: note: ‘void juce::dsp::IIR::Filter<SampleType>::prepare(const juce::dsp::ProcessSpec&)’ previously declared here
   67 | void Filter<SampleType>::prepare (const ProcessSpec&) noexcept     { reset(); }
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:71:6: error: redefinition of ‘void juce::dsp::IIR::Filter<SampleType>::processInternal(const ProcessContext&)’
   71 | void Filter<SampleType>::processInternal (const ProcessContext& context) noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:71:6: note: ‘void juce::dsp::IIR::Filter<SampleType>::processInternal(const ProcessContext&)’ previously declared here
   71 | void Filter<SampleType>::processInternal (const ProcessContext& context) noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:191:33: error: redefinition of ‘SampleType juce::dsp::IIR::Filter<SampleType>::processSample(SampleType)’
  191 | SampleType JUCE_VECTOR_CALLTYPE Filter<SampleType>::processSample (SampleType sample) noexcept
      |                                 ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:191:33: note: ‘SampleType juce::dsp::IIR::Filter<SampleType>::processSample(SampleType)’ previously declared here
  191 | SampleType JUCE_VECTOR_CALLTYPE Filter<SampleType>::processSample (SampleType sample) noexcept
      |                                 ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:207:6: error: redefinition of ‘void juce::dsp::IIR::Filter<SampleType>::snapToZero()’
  207 | void Filter<SampleType>::snapToZero() noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:207:6: note: ‘void juce::dsp::IIR::Filter<SampleType>::snapToZero()’ previously declared here
  207 | void Filter<SampleType>::snapToZero() noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:214:6: error: redefinition of ‘void juce::dsp::IIR::Filter<SampleType>::check()’
  214 | void Filter<SampleType>::check()
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:214:6: note: ‘void juce::dsp::IIR::Filter<SampleType>::check()’ previously declared here
  214 | void Filter<SampleType>::check()
      |      ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:243:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:38:1: error: redefinition of ‘juce::dsp::IIR::Filter<SampleType>::Filter()’
   38 | Filter<SampleType>::Filter()
      | ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:38:1: note: ‘juce::dsp::IIR::Filter<SampleType>::Filter()’ previously declared here
   38 | Filter<SampleType>::Filter()
      | ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:45:1: error: redefinition of ‘juce::dsp::IIR::Filter<SampleType>::Filter(CoefficientsPtr)’
   45 | Filter<SampleType>::Filter (CoefficientsPtr c)  : coefficients (std::move (c))
      | ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:45:1: note: ‘juce::dsp::IIR::Filter<SampleType>::Filter(CoefficientsPtr)’ previously declared here
   45 | Filter<SampleType>::Filter (CoefficientsPtr c)  : coefficients (std::move (c))
      | ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:51:6: error: redefinition of ‘void juce::dsp::IIR::Filter<SampleType>::reset(SampleType)’
   51 | void Filter<SampleType>::reset (SampleType resetToValue)
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:51:6: note: ‘void juce::dsp::IIR::Filter<SampleType>::reset(SampleType)’ previously declared here
   51 | void Filter<SampleType>::reset (SampleType resetToValue)
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:67:6: error: redefinition of ‘void juce::dsp::IIR::Filter<SampleType>::prepare(const juce::dsp::ProcessSpec&)’
   67 | void Filter<SampleType>::prepare (const ProcessSpec&) noexcept     { reset(); }
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:67:6: note: ‘void juce::dsp::IIR::Filter<SampleType>::prepare(const juce::dsp::ProcessSpec&)’ previously declared here
   67 | void Filter<SampleType>::prepare (const ProcessSpec&) noexcept     { reset(); }
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:71:6: error: redefinition of ‘void juce::dsp::IIR::Filter<SampleType>::processInternal(const ProcessContext&)’
   71 | void Filter<SampleType>::processInternal (const ProcessContext& context) noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:71:6: note: ‘void juce::dsp::IIR::Filter<SampleType>::processInternal(const ProcessContext&)’ previously declared here
   71 | void Filter<SampleType>::processInternal (const ProcessContext& context) noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:191:33: error: redefinition of ‘SampleType juce::dsp::IIR::Filter<SampleType>::processSample(SampleType)’
  191 | SampleType JUCE_VECTOR_CALLTYPE Filter<SampleType>::processSample (SampleType sample) noexcept
      |                                 ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:191:33: note: ‘SampleType juce::dsp::IIR::Filter<SampleType>::processSample(SampleType)’ previously declared here
  191 | SampleType JUCE_VECTOR_CALLTYPE Filter<SampleType>::processSample (SampleType sample) noexcept
      |                                 ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:207:6: error: redefinition of ‘void juce::dsp::IIR::Filter<SampleType>::snapToZero()’
  207 | void Filter<SampleType>::snapToZero() noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:207:6: note: ‘void juce::dsp::IIR::Filter<SampleType>::snapToZero()’ previously declared here
  207 | void Filter<SampleType>::snapToZero() noexcept
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:214:6: error: redefinition of ‘void juce::dsp::IIR::Filter<SampleType>::check()’
  214 | void Filter<SampleType>::check()
      |      ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_IIRFilter_Impl.h:214:6: note: ‘void juce::dsp::IIR::Filter<SampleType>::check()’ previously declared here
  214 | void Filter<SampleType>::check()
      |      ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:244:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_LadderFilter.h:38:7: error: redefinition of ‘class juce::dsp::LadderFilter<Type>’
   38 | class LadderFilter
      |       ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:266:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_LadderFilter.h:38:7: note: previous definition of ‘class juce::dsp::LadderFilter<Type>’
   38 | class LadderFilter
      |       ^~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:245:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_Oscillator.h:38:7: error: redefinition of ‘class juce::dsp::Oscillator<SampleType>’
   38 | class Oscillator
      |       ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:265:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_Oscillator.h:38:7: note: previous definition of ‘class juce::dsp::Oscillator<SampleType>’
   38 | class Oscillator
      |       ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:246:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_Oversampling.h:57:17: error: redefinition of ‘class juce::dsp::Oversampling<SampleType>’
   57 | class JUCE_API  Oversampling
      |                 ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:268:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_Oversampling.h:57:17: note: previous definition of ‘class juce::dsp::Oversampling<SampleType>’
   57 | class JUCE_API  Oversampling
      |                 ^~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:247:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessContext.h:38:8: error: redefinition of ‘struct juce::dsp::ProcessSpec’
   38 | struct ProcessSpec
      |        ^~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:256:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessContext.h:38:8: note: previous definition of ‘struct juce::dsp::ProcessSpec’
   38 | struct ProcessSpec
      |        ^~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessContext.h:58:8: error: redefinition of ‘struct juce::dsp::ProcessorState’
   58 | struct ProcessorState  : public ReferenceCountedObject
      |        ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessContext.h:58:8: note: previous definition of ‘struct juce::dsp::ProcessorState’
   58 | struct ProcessorState  : public ReferenceCountedObject
      |        ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessContext.h:79:8: error: redefinition of ‘struct juce::dsp::ProcessContextReplacing<ContextSampleType>’
   79 | struct ProcessContextReplacing
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessContext.h:79:8: note: previous definition of ‘struct juce::dsp::ProcessContextReplacing<ContextSampleType>’
   79 | struct ProcessContextReplacing
      |        ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessContext.h:132:8: error: redefinition of ‘struct juce::dsp::ProcessContextNonReplacing<ContextSampleType>’
  132 | struct ProcessContextNonReplacing
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessContext.h:132:8: note: previous definition of ‘struct juce::dsp::ProcessContextNonReplacing<ContextSampleType>’
  132 | struct ProcessContextNonReplacing
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:248:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h:36:12: error: redefinition of ‘struct juce::dsp::ProcessorHelpers::AccessHelper<arg>’
   36 |     struct AccessHelper
      |            ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:258:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h:36:12: note: previous definition of ‘struct juce::dsp::ProcessorHelpers::AccessHelper<arg>’
   36 |     struct AccessHelper
      |            ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h:49:12: error: redefinition of ‘struct juce::dsp::ProcessorHelpers::AccessHelper<0>’
   49 |     struct AccessHelper<0>
      |            ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h:49:12: note: previous definition of ‘struct juce::dsp::ProcessorHelpers::AccessHelper<0>’
   49 |     struct AccessHelper<0>
      |            ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h:63:12: error: redefinition of ‘struct juce::dsp::ProcessorHelpers::ChainElement<isFirst, Processor, Subclass>’
   63 |     struct ChainElement
      |            ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h:63:12: note: previous definition of ‘struct juce::dsp::ProcessorHelpers::ChainElement<isFirst, Processor, Subclass>’
   63 |     struct ChainElement
      |            ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h:110:12: error: redefinition of ‘struct juce::dsp::ProcessorHelpers::ChainBase<isFirst, FirstProcessor, SubsequentProcessors>’
  110 |     struct ChainBase  : public ChainElement<isFirst, FirstProcessor, ChainBase<isFirst, FirstProcessor, SubsequentProcessors...>>
      |            ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h:110:12: note: previous definition of ‘struct juce::dsp::ProcessorHelpers::ChainBase<isFirst, FirstProcessor, SubsequentProcessors>’
  110 |     struct ChainBase  : public ChainElement<isFirst, FirstProcessor, ChainBase<isFirst, FirstProcessor, SubsequentProcessors...>>
      |            ^~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h:123:12: error: redefinition of ‘struct juce::dsp::ProcessorHelpers::ChainBase<isFirst, ProcessorType>’
  123 |     struct ChainBase<isFirst, ProcessorType>  : public ChainElement<isFirst, ProcessorType, ChainBase<isFirst, ProcessorType>> {};
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorChain.h:123:12: note: previous definition of ‘struct juce::dsp::ProcessorHelpers::ChainBase<isFirst, ProcessorType>’
  123 |     struct ChainBase<isFirst, ProcessorType>  : public ChainElement<isFirst, ProcessorType, ChainBase<isFirst, ProcessorType>> {};
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:249:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorDuplicator.h:43:8: error: redefinition of ‘struct juce::dsp::ProcessorDuplicator<MonoProcessorType, StateType>’
   43 | struct ProcessorDuplicator
      |        ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:259:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorDuplicator.h:43:8: note: previous definition of ‘struct juce::dsp::ProcessorDuplicator<MonoProcessorType, StateType>’
   43 | struct ProcessorDuplicator
      |        ^~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:250:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorWrapper.h:41:8: error: redefinition of ‘struct juce::dsp::ProcessorBase’
   41 | struct ProcessorBase
      |        ^~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:257:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorWrapper.h:41:8: note: previous definition of ‘struct juce::dsp::ProcessorBase’
   41 | struct ProcessorBase
      |        ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorWrapper.h:61:8: error: redefinition of ‘struct juce::dsp::ProcessorWrapper<ProcessorType>’
   61 | struct ProcessorWrapper  : public ProcessorBase
      |        ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_ProcessorWrapper.h:61:8: note: previous definition of ‘struct juce::dsp::ProcessorWrapper<ProcessorType>’
   61 | struct ProcessorWrapper  : public ProcessorBase
      |        ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:251:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_Reverb.h:37:7: error: redefinition of ‘class juce::dsp::Reverb’
   37 | class Reverb
      |       ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:269:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_Reverb.h:37:7: note: previous definition of ‘class juce::dsp::Reverb’
   37 | class Reverb
      |       ^~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:252:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_StateVariableFilter.h:54:11: error: redefinition of ‘class juce::dsp::StateVariableFilter::Filter<SampleType>’
   54 |     class Filter
      |           ^~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:267:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_StateVariableFilter.h:54:11: note: previous definition of ‘class juce::dsp::StateVariableFilter::Filter<SampleType>’
   54 |     class Filter
      |           ^~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_StateVariableFilter.h:191:12: error: redefinition of ‘struct juce::dsp::StateVariableFilter::Parameters<NumericType>’
  191 |     struct Parameters  : public ProcessorState
      |            ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_StateVariableFilter.h:191:12: note: previous definition of ‘struct juce::dsp::StateVariableFilter::Parameters<NumericType>’
  191 |     struct Parameters  : public ProcessorState
      |            ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:253:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_WaveShaper.h:37:31: error: redefinition of default argument for ‘class Function’
   37 | template <typename FloatType, typename Function = FloatType (*) (FloatType)>
      |                               ^~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_dsp/juce_dsp.h:262:
/usr/include/libopenshot-audio/juce_dsp/processors/juce_WaveShaper.h:37:31: note: original definition appeared here
   37 | template <typename FloatType, typename Function = FloatType (*) (FloatType)>
      |                               ^~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_WaveShaper.h:82:66: error: redefinition of ‘template<class Functor> juce::dsp::WaveShaper<std::invoke_result<Functor>, Functor> juce::dsp::CreateWaveShaper(Functor)’
   82 | static WaveShaper<typename std::invoke_result<Functor>, Functor> CreateWaveShaper (Functor functionToUse)   { return {functionToUse}; }
      |                                                                  ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_dsp/processors/juce_WaveShaper.h:82:66: note: ‘template<class Functor> juce::dsp::WaveShaper<std::invoke_result<Functor>, Functor> juce::dsp::CreateWaveShaper(Functor)’ previously declared here
   82 | static WaveShaper<typename std::invoke_result<Functor>, Functor> CreateWaveShaper (Functor functionToUse)   { return {functionToUse}; }
      |                                                                  ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:254:
/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ActionBroadcaster.h:36:17: error: redefinition of ‘class juce::ActionBroadcaster’
   36 | class JUCE_API  ActionBroadcaster
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:81,
                 from /usr/include/libopenshot-audio/juce_audio_devices/juce_audio_devices.h:55:
/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ActionBroadcaster.h:36:17: note: previous definition of ‘class juce::ActionBroadcaster’
   36 | class JUCE_API  ActionBroadcaster
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:255:
/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ActionListener.h:34:17: error: redefinition of ‘class juce::ActionListener’
   34 | class JUCE_API  ActionListener
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:82:
/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ActionListener.h:34:17: note: previous definition of ‘class juce::ActionListener’
   34 | class JUCE_API  ActionListener
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:256:
/usr/include/libopenshot-audio/juce_events/broadcasters/juce_AsyncUpdater.h:38:17: error: redefinition of ‘class juce::AsyncUpdater’
   38 | class JUCE_API  AsyncUpdater
      |                 ^~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:83:
/usr/include/libopenshot-audio/juce_events/broadcasters/juce_AsyncUpdater.h:38:17: note: previous definition of ‘class juce::AsyncUpdater’
   38 | class JUCE_API  AsyncUpdater
      |                 ^~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:257:
/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ChangeBroadcaster.h:34:17: error: redefinition of ‘class juce::ChangeBroadcaster’
   34 | class JUCE_API  ChangeBroadcaster
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:85:
/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ChangeBroadcaster.h:34:17: note: previous definition of ‘class juce::ChangeBroadcaster’
   34 | class JUCE_API  ChangeBroadcaster
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:258:
/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ChangeListener.h:44:17: error: redefinition of ‘class juce::ChangeListener’
   44 | class JUCE_API  ChangeListener
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:84:
/usr/include/libopenshot-audio/juce_events/broadcasters/juce_ChangeListener.h:44:17: note: previous definition of ‘class juce::ChangeListener’
   44 | class JUCE_API  ChangeListener
      |                 ^~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:259:
/usr/include/libopenshot-audio/juce_events/interprocess/juce_ConnectedChildProcess.h:47:17: error: redefinition of ‘class juce::ChildProcessSlave’
   47 | class JUCE_API  ChildProcessSlave
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:90:
/usr/include/libopenshot-audio/juce_events/interprocess/juce_ConnectedChildProcess.h:47:17: note: previous definition of ‘class juce::ChildProcessSlave’
   47 | class JUCE_API  ChildProcessSlave
      |                 ^~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/interprocess/juce_ConnectedChildProcess.h:132:16: error: redefinition of ‘class juce::ChildProcessMaster’
  132 | class JUCE_API ChildProcessMaster
      |                ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/interprocess/juce_ConnectedChildProcess.h:132:16: note: previous definition of ‘class juce::ChildProcessMaster’
  132 | class JUCE_API ChildProcessMaster
      |                ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:260:
/usr/include/libopenshot-audio/juce_events/interprocess/juce_InterprocessConnection.h:50:17: error: redefinition of ‘class juce::InterprocessConnection’
   50 | class JUCE_API  InterprocessConnection
      |                 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:88:
/usr/include/libopenshot-audio/juce_events/interprocess/juce_InterprocessConnection.h:50:17: note: previous definition of ‘class juce::InterprocessConnection’
   50 | class JUCE_API  InterprocessConnection
      |                 ^~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:261:
/usr/include/libopenshot-audio/juce_events/interprocess/juce_InterprocessConnectionServer.h:39:17: error: redefinition of ‘class juce::InterprocessConnectionServer’
   39 | class JUCE_API  InterprocessConnectionServer    : private Thread
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:89:
/usr/include/libopenshot-audio/juce_events/interprocess/juce_InterprocessConnectionServer.h:39:17: note: previous definition of ‘class juce::InterprocessConnectionServer’
   39 | class JUCE_API  InterprocessConnectionServer    : private Thread
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:262:
/usr/include/libopenshot-audio/juce_events/interprocess/juce_NetworkServiceDiscovery.h:34:8: error: redefinition of ‘struct juce::NetworkServiceDiscovery’
   34 | struct NetworkServiceDiscovery
      |        ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:91:
/usr/include/libopenshot-audio/juce_events/interprocess/juce_NetworkServiceDiscovery.h:34:8: note: previous definition of ‘struct juce::NetworkServiceDiscovery’
   34 | struct NetworkServiceDiscovery
      |        ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:264:
/usr/include/libopenshot-audio/juce_events/messages/juce_ApplicationBase.h:84:17: error: redefinition of ‘class juce::JUCEApplicationBase’
   84 | class JUCE_API  JUCEApplicationBase
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:78:
/usr/include/libopenshot-audio/juce_events/messages/juce_ApplicationBase.h:84:17: note: previous definition of ‘class juce::JUCEApplicationBase’
   84 | class JUCE_API  JUCEApplicationBase
      |                 ^~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:265:
/usr/include/libopenshot-audio/juce_events/messages/juce_CallbackMessage.h:48:17: error: redefinition of ‘class juce::CallbackMessage’
   48 | class JUCE_API  CallbackMessage   : public MessageManager::MessageBase
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:75:
/usr/include/libopenshot-audio/juce_events/messages/juce_CallbackMessage.h:48:17: note: previous definition of ‘class juce::CallbackMessage’
   48 | class JUCE_API  CallbackMessage   : public MessageManager::MessageBase
      |                 ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:266:
/usr/include/libopenshot-audio/juce_events/messages/juce_DeletedAtShutdown.h:39:17: error: redefinition of ‘class juce::DeletedAtShutdown’
   39 | class JUCE_API  DeletedAtShutdown
      |                 ^~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:76:
/usr/include/libopenshot-audio/juce_events/messages/juce_DeletedAtShutdown.h:39:17: note: previous definition of ‘class juce::DeletedAtShutdown’
   39 | class JUCE_API  DeletedAtShutdown
      |                 ^~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:267:
/usr/include/libopenshot-audio/juce_events/messages/juce_Initialisation.h:69:17: error: redefinition of ‘class juce::ScopedJuceInitialiser_GUI’
   69 | class JUCE_API  ScopedJuceInitialiser_GUI  final
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:79:
/usr/include/libopenshot-audio/juce_events/messages/juce_Initialisation.h:69:17: note: previous definition of ‘class juce::ScopedJuceInitialiser_GUI’
   69 | class JUCE_API  ScopedJuceInitialiser_GUI  final
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:268:
/usr/include/libopenshot-audio/juce_events/messages/juce_Message.h:43:17: error: redefinition of ‘class juce::Message’
   43 | class JUCE_API  Message  : public MessageManager::MessageBase
      |                 ^~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:73:
/usr/include/libopenshot-audio/juce_events/messages/juce_Message.h:43:17: note: previous definition of ‘class juce::Message’
   43 | class JUCE_API  Message  : public MessageManager::MessageBase
      |                 ^~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:269:
/usr/include/libopenshot-audio/juce_events/messages/juce_MessageListener.h:34:17: error: redefinition of ‘class juce::MessageListener’
   34 | class JUCE_API  MessageListener
      |                 ^~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:74:
/usr/include/libopenshot-audio/juce_events/messages/juce_MessageListener.h:34:17: note: previous definition of ‘class juce::MessageListener’
   34 | class JUCE_API  MessageListener
      |                 ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:270:
/usr/include/libopenshot-audio/juce_events/messages/juce_MessageManager.h:49:17: error: redefinition of ‘class juce::MessageManager’
   49 | class JUCE_API  MessageManager  final
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:72:
/usr/include/libopenshot-audio/juce_events/messages/juce_MessageManager.h:49:17: note: previous definition of ‘class juce::MessageManager’
   49 | class JUCE_API  MessageManager  final
      |                 ^~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/messages/juce_MessageManager.h:384:16: error: redefinition of ‘class juce::MessageManagerLock’
  384 | class JUCE_API MessageManagerLock      : private Thread::Listener
      |                ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/messages/juce_MessageManager.h:384:16: note: previous definition of ‘class juce::MessageManagerLock’
  384 | class JUCE_API MessageManagerLock      : private Thread::Listener
      |                ^~~~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:272:
/usr/include/libopenshot-audio/juce_events/messages/juce_NotificationType.h:31:6: error: multiple definition of ‘enum juce::NotificationType’
   31 | enum NotificationType
      |      ^~~~~~~~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:77:
/usr/include/libopenshot-audio/juce_events/messages/juce_NotificationType.h:31:6: note: previous definition here
   31 | enum NotificationType
      |      ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:274:
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:62:5: error: ‘CFRunLoopRef’ does not name a type
   62 |     CFRunLoopRef runLoop;
      |     ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:63:5: error: ‘CFRunLoopSourceRef’ does not name a type
   63 |     CFRunLoopSourceRef runLoopSource;
      |     ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h: In constructor ‘juce::MessageQueue::MessageQueue()’:
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:36:9: error: ‘runLoop’ was not declared in this scope
   36 |         runLoop = CFRunLoopGetMain();
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:36:19: error: ‘CFRunLoopGetMain’ was not declared in this scope
   36 |         runLoop = CFRunLoopGetMain();
      |                   ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:39:9: error: ‘CFRunLoopSourceContext’ was not declared in this scope
   39 |         CFRunLoopSourceContext sourceContext;
      |         ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:40:21: error: ‘sourceContext’ was not declared in this scope; did you mean ‘sigcontext’?
   40 |         zerostruct (sourceContext); // (can't use "= { 0 }" on this object because it's typedef'ed as a C struct)
      |                     ^~~~~~~~~~~~~
      |                     sigcontext
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:43:9: error: ‘runLoopSource’ was not declared in this scope; did you mean ‘AudioSource’?
   43 |         runLoopSource = CFRunLoopSourceCreate (kCFAllocatorDefault, 1, &sourceContext);
      |         ^~~~~~~~~~~~~
      |         AudioSource
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:43:48: error: ‘kCFAllocatorDefault’ was not declared in this scope
   43 |         runLoopSource = CFRunLoopSourceCreate (kCFAllocatorDefault, 1, &sourceContext);
      |                                                ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:43:25: error: ‘CFRunLoopSourceCreate’ was not declared in this scope
   43 |         runLoopSource = CFRunLoopSourceCreate (kCFAllocatorDefault, 1, &sourceContext);
      |                         ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:44:53: error: ‘kCFRunLoopCommonModes’ was not declared in this scope
   44 |         CFRunLoopAddSource (runLoop, runLoopSource, kCFRunLoopCommonModes);
      |                                                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:44:9: error: ‘CFRunLoopAddSource’ was not declared in this scope
   44 |         CFRunLoopAddSource (runLoop, runLoopSource, kCFRunLoopCommonModes);
      |         ^~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h: In destructor ‘juce::MessageQueue::~MessageQueue()’:
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:49:32: error: ‘runLoop’ was not declared in this scope
   49 |         CFRunLoopRemoveSource (runLoop, runLoopSource, kCFRunLoopCommonModes);
      |                                ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:49:41: error: ‘runLoopSource’ was not declared in this scope; did you mean ‘AudioSource’?
   49 |         CFRunLoopRemoveSource (runLoop, runLoopSource, kCFRunLoopCommonModes);
      |                                         ^~~~~~~~~~~~~
      |                                         AudioSource
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:49:56: error: ‘kCFRunLoopCommonModes’ was not declared in this scope
   49 |         CFRunLoopRemoveSource (runLoop, runLoopSource, kCFRunLoopCommonModes);
      |                                                        ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:49:9: error: ‘CFRunLoopRemoveSource’ was not declared in this scope
   49 |         CFRunLoopRemoveSource (runLoop, runLoopSource, kCFRunLoopCommonModes);
      |         ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:50:9: error: ‘CFRunLoopSourceInvalidate’ was not declared in this scope
   50 |         CFRunLoopSourceInvalidate (runLoopSource);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:51:9: error: ‘CFRelease’ was not declared in this scope
   51 |         CFRelease (runLoopSource);
      |         ^~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h: In member function ‘void juce::MessageQueue::wakeUp()’:
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:67:32: error: ‘runLoopSource’ was not declared in this scope; did you mean ‘AudioSource’?
   67 |         CFRunLoopSourceSignal (runLoopSource);
      |                                ^~~~~~~~~~~~~
      |                                AudioSource
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:67:9: error: ‘CFRunLoopSourceSignal’ was not declared in this scope
   67 |         CFRunLoopSourceSignal (runLoopSource);
      |         ^~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:68:26: error: ‘runLoop’ was not declared in this scope
   68 |         CFRunLoopWakeUp (runLoop);
      |                          ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_osx_MessageQueue.h:68:9: error: ‘CFRunLoopWakeUp’ was not declared in this scope
   68 |         CFRunLoopWakeUp (runLoop);
      |         ^~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:275:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h: At global scope:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:30:32: error: ‘TCHAR’ does not name a type
   30 |     HiddenMessageWindow (const TCHAR* const messageWindowName, WNDPROC wndProc)
      |                                ^~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:30:64: error: ‘WNDPROC’ has not been declared
   30 |     HiddenMessageWindow (const TCHAR* const messageWindowName, WNDPROC wndProc)
      |                                                                ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:58:12: error: ‘HWND’ does not name a type
   58 |     inline HWND getHWND() const noexcept     { return hwnd; }
      |            ^~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:61:5: error: ‘ATOM’ does not name a type
   61 |     ATOM atom;
      |     ^~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:62:5: error: ‘HWND’ does not name a type
   62 |     HWND hwnd;
      |     ^~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:64:5: error: ‘LPCTSTR’ does not name a type
   64 |     LPCTSTR getClassNameFromAtom() noexcept  { return (LPCTSTR) (pointer_sized_uint) atom; }
      |     ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h: In constructor ‘juce::HiddenMessageWindow::HiddenMessageWindow(const int*, int)’:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:35:9: error: ‘HMODULE’ was not declared in this scope
   35 |         HMODULE moduleHandle = (HMODULE) Process::getCurrentModuleInstanceHandle();
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:37:9: error: ‘WNDCLASSEX’ was not declared in this scope
   37 |         WNDCLASSEX wc = { 0 };
      |         ^~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:38:9: error: ‘wc’ was not declared in this scope
   38 |         wc.cbSize         = sizeof (wc);
      |         ^~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:41:29: error: ‘moduleHandle’ was not declared in this scope
   41 |         wc.hInstance      = moduleHandle;
      |                             ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:44:9: error: ‘atom’ was not declared in this scope; did you mean ‘atol’?
   44 |         atom = RegisterClassEx (&wc);
      |         ^~~~
      |         atol
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:44:16: error: ‘RegisterClassEx’ was not declared in this scope
   44 |         atom = RegisterClassEx (&wc);
      |                ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:47:9: error: ‘hwnd’ was not declared in this scope
   47 |         hwnd = CreateWindow (getClassNameFromAtom(), messageWindowName,
      |         ^~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:47:30: error: ‘getClassNameFromAtom’ was not declared in this scope
   47 |         hwnd = CreateWindow (getClassNameFromAtom(), messageWindowName,
      |                              ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:47:16: error: ‘CreateWindow’ was not declared in this scope
   47 |         hwnd = CreateWindow (getClassNameFromAtom(), messageWindowName,
      |                ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h: In destructor ‘juce::HiddenMessageWindow::~HiddenMessageWindow()’:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:54:24: error: ‘hwnd’ was not declared in this scope
   54 |         DestroyWindow (hwnd);
      |                        ^~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:54:9: error: ‘DestroyWindow’ was not declared in this scope
   54 |         DestroyWindow (hwnd);
      |         ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:55:26: error: ‘getClassNameFromAtom’ was not declared in this scope
   55 |         UnregisterClass (getClassNameFromAtom(), 0);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:55:9: error: ‘UnregisterClass’ was not declared in this scope
   55 |         UnregisterClass (getClassNameFromAtom(), 0);
      |         ^~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h: At global scope:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:71:31: error: ‘HWND’ has not been declared
   71 |     static bool isJUCEWindow (HWND hwnd) noexcept
      |                               ^~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:76:34: error: ‘HWND’ has not been declared
   76 |     static void setAsJUCEWindow (HWND hwnd, bool isJuceWindow) noexcept
      |                                  ^~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:82:12: error: ‘LONG_PTR’ does not name a type
   82 |     static LONG_PTR getImprobableWindowNumber() noexcept
      |            ^~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h: In static member function ‘static bool juce::JuceWindowIdentifier::isJUCEWindow(int)’:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:73:40: error: ‘GWLP_USERDATA’ was not declared in this scope
   73 |         return GetWindowLongPtr (hwnd, GWLP_USERDATA) == getImprobableWindowNumber();
      |                                        ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:73:16: error: ‘GetWindowLongPtr’ was not declared in this scope
   73 |         return GetWindowLongPtr (hwnd, GWLP_USERDATA) == getImprobableWindowNumber();
      |                ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:73:58: error: ‘getImprobableWindowNumber’ was not declared in this scope
   73 |         return GetWindowLongPtr (hwnd, GWLP_USERDATA) == getImprobableWindowNumber();
      |                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h: In static member function ‘static void juce::JuceWindowIdentifier::setAsJUCEWindow(int, bool)’:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:78:33: error: ‘GWLP_USERDATA’ was not declared in this scope
   78 |         SetWindowLongPtr (hwnd, GWLP_USERDATA, isJuceWindow ? getImprobableWindowNumber() : 0);
      |                                 ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:78:63: error: ‘getImprobableWindowNumber’ was not declared in this scope
   78 |         SetWindowLongPtr (hwnd, GWLP_USERDATA, isJuceWindow ? getImprobableWindowNumber() : 0);
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:78:9: error: ‘SetWindowLongPtr’ was not declared in this scope
   78 |         SetWindowLongPtr (hwnd, GWLP_USERDATA, isJuceWindow ? getImprobableWindowNumber() : 0);
      |         ^~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h: At global scope:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:113:12: error: ‘LRESULT’ does not name a type
  113 |     static LRESULT CALLBACK deviceChangeEventCallback (HWND h, const UINT message,
      |            ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h: In constructor ‘juce::DeviceChangeDetector::DeviceChangeDetector(const wchar_t*)’:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:94:33: error: ‘WNDPROC’ was not declared in this scope
   94 |         : messageWindow (name, (WNDPROC) deviceChangeEventCallback)
      |                                 ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:96:41: error: ‘class juce::HiddenMessageWindow’ has no member named ‘getHWND’
   96 |         SetWindowLongPtr (messageWindow.getHWND(), GWLP_USERDATA, (LONG_PTR) this);
      |                                         ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:96:52: error: ‘GWLP_USERDATA’ was not declared in this scope
   96 |         SetWindowLongPtr (messageWindow.getHWND(), GWLP_USERDATA, (LONG_PTR) this);
      |                                                    ^~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:96:68: error: ‘LONG_PTR’ was not declared in this scope
   96 |         SetWindowLongPtr (messageWindow.getHWND(), GWLP_USERDATA, (LONG_PTR) this);
      |                                                                    ^~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_HiddenMessageWindow.h:96:9: error: ‘SetWindowLongPtr’ was not declared in this scope
   96 |         SetWindowLongPtr (messageWindow.getHWND(), GWLP_USERDATA, (LONG_PTR) this);
      |         ^~~~~~~~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:276:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h: At global scope:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:36:9: error: ‘HSTRING’ does not name a type
   36 |         HSTRING get() const noexcept          { return hstr; }
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:39:9: error: ‘HSTRING’ does not name a type
   39 |         HSTRING hstr = nullptr;
      |         ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:88:29: error: ‘HSTRING’ has not been declared
   88 |     String hStringToString (HSTRING);
      |                             ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:93:71: error: ‘REFCLSID’ has not been declared
   93 |     ComPtr<ComClass> activateInstance (const wchar_t* runtimeClassID, REFCLSID classUUID)
      |                                                                       ^~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:129:5: error: ‘HMODULE’ does not name a type
  129 |     HMODULE winRTHandle = nullptr;
      |     ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:132:22: error: ‘WINAPI’ has not been declared
  132 |     typedef HRESULT (WINAPI* RoInitializeFuncPtr) (int);
      |                      ^~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:132:55: error: ‘HRESULT’ declared as function returning a function
  132 |     typedef HRESULT (WINAPI* RoInitializeFuncPtr) (int);
      |                                                       ^
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:133:22: error: ‘WINAPI’ has not been declared
  133 |     typedef HRESULT (WINAPI* WindowsCreateStringFuncPtr) (LPCWSTR, UINT32, HSTRING*);
      |                      ^~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:133:59: error: ‘LPCWSTR’ has not been declared
  133 |     typedef HRESULT (WINAPI* WindowsCreateStringFuncPtr) (LPCWSTR, UINT32, HSTRING*);
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:133:68: error: ‘UINT32’ has not been declared
  133 |     typedef HRESULT (WINAPI* WindowsCreateStringFuncPtr) (LPCWSTR, UINT32, HSTRING*);
      |                                                                    ^~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:133:76: error: ‘HSTRING’ has not been declared
  133 |     typedef HRESULT (WINAPI* WindowsCreateStringFuncPtr) (LPCWSTR, UINT32, HSTRING*);
      |                                                                            ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:133:84: error: ‘HRESULT’ declared as function returning a function
  133 |     typedef HRESULT (WINAPI* WindowsCreateStringFuncPtr) (LPCWSTR, UINT32, HSTRING*);
      |                                                                                    ^
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:134:22: error: ‘WINAPI’ has not been declared
  134 |     typedef HRESULT (WINAPI* WindowsDeleteStringFuncPtr) (HSTRING);
      |                      ^~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:134:59: error: ‘HSTRING’ has not been declared
  134 |     typedef HRESULT (WINAPI* WindowsDeleteStringFuncPtr) (HSTRING);
      |                                                           ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:134:66: error: ‘HRESULT’ declared as function returning a function
  134 |     typedef HRESULT (WINAPI* WindowsDeleteStringFuncPtr) (HSTRING);
      |                                                                  ^
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:135:22: error: ‘WINAPI’ has not been declared
  135 |     typedef PCWSTR  (WINAPI* WindowsGetStringRawBufferFuncPtr) (HSTRING, UINT32*);
      |                      ^~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:135:65: error: ‘HSTRING’ has not been declared
  135 |     typedef PCWSTR  (WINAPI* WindowsGetStringRawBufferFuncPtr) (HSTRING, UINT32*);
      |                                                                 ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:135:74: error: ‘UINT32’ has not been declared
  135 |     typedef PCWSTR  (WINAPI* WindowsGetStringRawBufferFuncPtr) (HSTRING, UINT32*);
      |                                                                          ^~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:135:81: error: ‘PCWSTR’ declared as function returning a function
  135 |     typedef PCWSTR  (WINAPI* WindowsGetStringRawBufferFuncPtr) (HSTRING, UINT32*);
      |                                                                                 ^
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:136:22: error: ‘WINAPI’ has not been declared
  136 |     typedef HRESULT (WINAPI* RoActivateInstanceFuncPtr) (HSTRING, IInspectable**);
      |                      ^~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:136:58: error: ‘HSTRING’ has not been declared
  136 |     typedef HRESULT (WINAPI* RoActivateInstanceFuncPtr) (HSTRING, IInspectable**);
      |                                                          ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:136:67: error: ‘IInspectable’ has not been declared
  136 |     typedef HRESULT (WINAPI* RoActivateInstanceFuncPtr) (HSTRING, IInspectable**);
      |                                                                   ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:136:81: error: ‘HRESULT’ declared as function returning a function
  136 |     typedef HRESULT (WINAPI* RoActivateInstanceFuncPtr) (HSTRING, IInspectable**);
      |                                                                                 ^
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:137:22: error: ‘WINAPI’ has not been declared
  137 |     typedef HRESULT (WINAPI* RoGetActivationFactoryFuncPtr) (HSTRING, REFIID, void**);
      |                      ^~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:137:62: error: ‘HSTRING’ has not been declared
  137 |     typedef HRESULT (WINAPI* RoGetActivationFactoryFuncPtr) (HSTRING, REFIID, void**);
      |                                                              ^~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:137:71: error: ‘REFIID’ has not been declared
  137 |     typedef HRESULT (WINAPI* RoGetActivationFactoryFuncPtr) (HSTRING, REFIID, void**);
      |                                                                       ^~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:137:85: error: ‘HRESULT’ declared as function returning a function
  137 |     typedef HRESULT (WINAPI* RoGetActivationFactoryFuncPtr) (HSTRING, REFIID, void**);
      |                                                                                     ^
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:139:5: error: ‘RoInitializeFuncPtr’ does not name a type
  139 |     RoInitializeFuncPtr roInitialize = nullptr;
      |     ^~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:140:5: error: ‘WindowsCreateStringFuncPtr’ does not name a type
  140 |     WindowsCreateStringFuncPtr createHString = nullptr;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:141:5: error: ‘WindowsDeleteStringFuncPtr’ does not name a type
  141 |     WindowsDeleteStringFuncPtr deleteHString = nullptr;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:142:5: error: ‘WindowsGetStringRawBufferFuncPtr’ does not name a type
  142 |     WindowsGetStringRawBufferFuncPtr getHStringRawBuffer = nullptr;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:143:5: error: ‘RoActivateInstanceFuncPtr’ does not name a type
  143 |     RoActivateInstanceFuncPtr roActivateInstance = nullptr;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:144:5: error: ‘RoGetActivationFactoryFuncPtr’ does not name a type
  144 |     RoGetActivationFactoryFuncPtr roGetActivationFactory = nullptr;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h: In member function ‘juce::WinRTWrapper::ComPtr<ComClass> juce::WinRTWrapper::activateInstance(const wchar_t*, int)’:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:99:20: error: ‘IInspectable’ was not declared in this scope
   99 |             ComPtr<IInspectable> inspectable;
      |                    ^~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:99:32: error: template argument 1 is invalid
   99 |             ComPtr<IInspectable> inspectable;
      |                                ^
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:101:56: error: ‘class juce::WinRTWrapper::ScopedHString’ has no member named ‘get’
  101 |             auto hr = roActivateInstance (runtimeClass.get(), inspectable.resetAndGetPointerAddress());
      |                                                        ^~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:101:75: error: request for member ‘resetAndGetPointerAddress’ in ‘inspectable’, which is of non-class type ‘int’
  101 |             auto hr = roActivateInstance (runtimeClass.get(), inspectable.resetAndGetPointerAddress());
      |                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:104:28: error: base operand of ‘->’ is not a pointer
  104 |                 inspectable->QueryInterface (classUUID, (void**) result.resetAndGetPointerAddress());
      |                            ^~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h: In member function ‘juce::WinRTWrapper::ComPtr<ComClass> juce::WinRTWrapper::getWRLFactory(const wchar_t*)’:
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:119:25: error: ‘class juce::WinRTWrapper::ScopedHString’ has no member named ‘get’
  119 |             if (classID.get() != nullptr)
      |                         ^~~
/usr/include/libopenshot-audio/juce_events/native/juce_win32_WinRTWrapper.h:120:49: error: ‘class juce::WinRTWrapper::ScopedHString’ has no member named ‘get’
  120 |                 roGetActivationFactory (classID.get(), __uuidof (ComClass), (void**) comPtr.resetAndGetPointerAddress());
      |                                                 ^~~
In file included from /tmp/ix0IlalA8K/dump1.h:277:
/usr/include/libopenshot-audio/juce_events/timers/juce_MultiTimer.h: At global scope:
/usr/include/libopenshot-audio/juce_events/timers/juce_MultiTimer.h:45:17: error: redefinition of ‘class juce::MultiTimer’
   45 | class JUCE_API  MultiTimer
      |                 ^~~~~~~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:87:
/usr/include/libopenshot-audio/juce_events/timers/juce_MultiTimer.h:45:17: note: previous definition of ‘class juce::MultiTimer’
   45 | class JUCE_API  MultiTimer
      |                 ^~~~~~~~~~
In file included from /tmp/ix0IlalA8K/dump1.h:278:
/usr/include/libopenshot-audio/juce_events/timers/juce_Timer.h:51:17: error: redefinition of ‘class juce::Timer’
   51 | class JUCE_API  Timer
      |                 ^~~~~
In file included from /usr/include/libopenshot-audio/juce_events/juce_events.h:86:
/usr/include/libopenshot-audio/juce_events/timers/juce_Timer.h:51:17: note: previous definition of ‘class juce::Timer’
   51 | class JUCE_API  Timer
      |                 ^~~~~
/tmp/ix0IlalA8K/dump1.h:369:3: error: ‘statfs’ does not name a type
  369 |   statfs* tmp_add_class_46;
      |   ^~~~~~
/tmp/ix0IlalA8K/dump1.h:370:3: error: ‘statfs64’ does not name a type
  370 |   statfs64* tmp_add_class_47;
      |   ^~~~~~~~

