But I'm not there yet, since now I can load the file, but nothing gets played (this is with all .sfz's in the package)

Yes, I did hear sound with the few SFZ files that I tried (the harps) from that package. Note that filenames are case-sensitive on Android, so the SFZ "sample" opcodes must match exactly the path/filename of the sample files. The package includes a mixture of lower and uppercase paths/filenames, which you will need to preserve when copying to the Android device. BASSMIDI will handle forward and back slashes, so you don't need to switch those.

To confirm whether it may be a path/filename case issue, you could check if the SFZ files are working on Windows, eg. with the pre-compiled SYNTH.EXE example included in the BASSMIDI package.

I haven't tried it myself, but from the Android docs it looks like STREAM_RING/STREAM_ALARM/STREAM_NOTIFICATION stream types aren't included in remote submix. The "Default" BASS device uses STREAM_MUSIC, but there is also a "Default (alarm)" device that uses STREAM_ALARM. Which device are you using in your BASS_Init call?

The issue I am having is that the ROM I use has visualization embedded on navbar which relies on "output "sink", remote submix in which audio may pass through for operations like downsampling (a2dp compliance etc), pre and post processing (fx) and other things including passing track data through the visualizer library. Most output destinations like bluetooth, headphones, music Chromecast, Android intercepts the audio track automatically and routes it through remote submix. The visualizer library gets the track data and we have Pulse. Device speaker output does not require remote submix operations", [ https://github.com/DirtyUnicorns/android_packages_apps_DUI/tree/n7x/src/com/android/systemui/navigation/pulse].

I am not quite sure, as I am not dev.But both apps that I tested which use BASS library, AIMP and myPlayer, fail in regards to displaying visualizing.VLC on the other hand works when Audio output AudioTrack is selected, but fails when OpenSL is selected.The dev of AIMP said forcing AudioTrack, a suggestion of a possibility from this forum, was to complicated, so I was wondering if BASS library was able to route to Android visualizer library, as currently default is not to do so.Thanks once again for your time

There are no plans for AMR support in BASS at the moment. If you can find an AMR decoder library, then you could use that with BASS via a custom stream, ie. BASS_StreamCreate. When BASS requests data from your STREAMPROC callback function, it would get the data from the AMR decoder.

Yes, I did hear sound with the few SFZ files that I tried (the harps) from that package. Note that filenames are case-sensitive on Android, so the SFZ "sample" opcodes must match exactly the path/filename of the sample files. The package includes a mixture of lower and uppercase paths/filenames, which you will need to preserve when copying to the Android device. BASSMIDI will handle forward and back slashes, so you don't need to switch those.

To confirm whether it may be a path/filename case issue, you could check if the SFZ files are working on Windows, eg. with the pre-compiled SYNTH.EXE example included in the BASSMIDI package.

Sorry for the late reply. Turned out I did not copy the samples where the sfz's were pointing to. I was used to just copying sf2 files which have the data embedded, sorry!

The Delphi/Pascal BASS.PAS file can be found in the Windows and Linux BASS packages. I'm not a FireMonkey user myself, but from that thread it looks it may need some modification for FireMonkey. There are some modified versions of it posted in the thread.

The BASS_ALAC add-on (libbass_alac.so) was replaced by a new BASSALAC add-on (libbassalac.so). The rest of them are the same as before, but note that they are separate downloads (links in the 1st post).

What is the return value from the BASS_StreamCreateFile call, ie. the "AudioDataSize" value? If it's 0, that means the call failed. In that case, you can find out why it failed by calling BASS_ErrorGetCode straight after and looking up the returned error code in the BASS_StreamCreateFile documentation.

BASS_StreamCreateFile needs a signature (eg. header or some other structure) to detect the format of the file and initialize a parser/decoder to process it. Raw data doesn't have any such signature, so there is no way for BASS_StreamCreateFile detect what it is. BASS_StreamCreate can be used to play that data instead (you can tell it what the data's format is).

Rather than STREAMPROC_DUMMY, you should use STREAMPROC_PUSH in the BASS_StreamCreate call to create a "push" stream. You can then use BASS_StreamPutData to pass the data to the stream. If you are playing a large block of data, a more memory efficient option is to use a STREAMPROC callback function, and feed the data to the stream in smaller blocks through that. Please see the BASS_StreamCreate documentation for details.