I was trying out the new 2.4.14 version of BASSMIDI and ran into a reproducible crash.
On newer iOS device targets everything seems to work great.
But when testing against our oldest supported platform (an iPad 2--which is notably only 32-bit ARMv7--running iOS 9.3.5), it appears the library cannot be loaded. If you add the framework to your Xcode project the usual way but don't call any BASSMIDI functions, the app runs without trouble. But after adding and compiling any line of code that requires actually linking to a BASSMIDI function, there is a crash immediately at startup during _dyld_start (looking at the disassembly it's right after a call to dyldbootstrap::start). The only other call stack frame is dyld_fatal_error which has a trap opcode, triggering an EXC_ARM_BREAKPOINT exception.
Otherwise, there is no output on the terminal.
My guess is that some 64-bit-only code got mixed into the library, preventing it from being loaded on arm7.
Please let me know if you need any other information to help track the problem down. Thanks!
Hmm, as a bonus, there appears to be a problem when loading the new BASSMIDI Android library, too. Has something changed or should the .so files be a drop-in replacement for the old ones? I'm getting an exception on my System.loadLibrary("bassmidi") line, which mirrors the iOS problem almost directly:
"A/DEBUG: Abort message: 'JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn't find class "com.un4seen.bass.BASSMIDI$BASS_MIDI_EVENT" on path: [... lots of file paths ...]"
Although this one is happening on a Galaxy Tab S6 Lite (SM-P610) which is 64-bit ARMv8-A, running Android 12.