BASS_FX 2.4.12.1

Started by (: JOBnik! :), 3 Dec '03 - 22:43

zhiyb

Quote from: (: JOBnik! :) on 29 Sep '17 - 15:08Hi ;D

Please test this build:
http://www.jobnik.org/BASS_FX/bass_fx24-linux-aarch64.zip

Hi,

I'm trying to get the osu game working on aarch64.
https://github.com/ppy/osu

Apparently only the first intro sound got played. All other sounds/channels for buttons and music tracks does not start at all. I will try to get more information about the problem.

Ian @ un4seen

To confirm whether that problem is related to BASS_FX, does it not happen if you don't use BASS_FX?

zhiyb

Quote from: Ian @ un4seen on  3 Oct '17 - 13:51To confirm whether that problem is related to BASS_FX, does it not happen if you don't use BASS_FX?

I actually don't think that problem is related to BASS_FX, BASS is more likely. The game need to load BASS and BASS_FX to start, so I need both of them in place. I probably should reduce it to a basic test case.

pgruebele

#703
UPDATE:  It turns out my app only loads Bass.Net.dll, bass.dll, and bassopus.dll, so it seems this problem is due to bass_fx.dll not being loaded.  As far as I can tell I have all the latest versions of the 32 bit DLLs (see attached).   Why would bass.dll not load bass_fx.dll?

UPDATE2: I resolved the issue by calling Un4seen.Bass.AddOn.Fx.BassFx.LoadMe();  I was under the false impression that bass_fx is loaded automatically.

I am getting an error when trying to use any of the BASS_FX_BFX_XXX effects.

With this code, t2 is 0 and error is Bass.BASSError.BASS_ERROR_ILLTYPE:

   var t1 = Bass.BASS_StreamCreateFile(@"C:\test.mp3", 0, 0, BASSFlag.BASS_DEFAULT);
   var t2 = Bass.BASS_ChannelSetFX(t1, BASSFXType.BASS_FX_BFX_BQF, 0);
        var error = Bass.BASS_ErrorGetCode();        // always BASS_ERROR_ILLTYPE

This code works:

   var t1 = Bass.BASS_StreamCreateFile(@"C:\test.mp3", 0, 0, BASSFlag.BASS_DEFAULT);
   var t2 = Bass.BASS_ChannelSetFX(t1, BASSFXType.BASS_FX_DX8_ECHO, 0);
        var error = Bass.BASS_ErrorGetCode();       // OK

It seems that DX8 effects work but BASS_FX_BFX_XXX don't.   I am attaching an image which shows all the latest bass file versions in my executable folder (I have bass_fx).  This is under Win32 and my init code does the following:

            Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_UPDATEPERIOD, 20);
            Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_BUFFER, 125);
            Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_FLOATDSP, 1);

Any ideas how to get this to work?

radio42

No.
Any native dll is typically only loaded automatically with the first method call to it. Eg. call the GetVersion method of BassFx.
Or load it manually via the LoadMe method - but make sure to call FreeMe at the end.

(: JOBnik! :)

#705
Hi ;D

there's now version 2.4.12 is released [28/03/2018]

2.4.12 - 28/03/2018
* BASS_FX:
  * Added "Windows Store (Win10-ARM/x86/x64, Win8-x86/x64, Win8-Phone-ARM)" platform support (package bass_fx24-winstore.zip).
  * Android, added "arm64-v8a" architecture support (package bass_fx24-android-arm64.zip).
  * Linux ARM, added "aarch64" architecture support.
  * OSX, removed PowerPC support, since the PowerPC architecture is no longer supported by BASS and Apple.
  * Delphi/Pascal, updated BASS_FX.PAS unit and changed "WIN32" to "MSWINDOWS".

* Tempo:
  * Updated to the latest SoundTouch version 2.0.0
  * Adjusted algorithm parameters to reduce reverberating effect at tempo slowdown.
  * Improved sound quality when using integer processing algorithm.
  * Improved sound quality when BASS_ATTRIB_TEMPO_OPTION_USE_QUICKALGO == TRUE.
    The new quickseek algorithm can find 99% as good results as the default full-scan mode, while the quickseek algorithm is
    remarkable less CPU intensive.
  * "mixtime" BASS_SYNC_END syncs are delayed until the tempo processing reaches the end (not when the source does), in the
    same was as BASS_SYNC_POS syncs.
  * Fixed threading issue.
  * Miscellaneous small fixes and improvements.

* BPM:
  * Updated to the latest SoundTouch version 2.0.0

* Reverse:
  * Fixed small bug in reverse processing, that BASS_SYNC_END syncs aren't getting triggered on reverse streams that are
    playing some files forwards.

* DSP:
  * Fixed fRate parameter in BASS_FX_BFX_AUTOWAH effect.
  * BASS_FX_BFX_PITCHSHIFT effect is also enabled for Android (armeabi-v7a, x86) and Linux ARM (hardfp), that using now
    floating-point instead of fixed-point.

BajakiGabesz

Hi,

Could you please check why the bass_fx.dll doesn't have version information?

Our application always checks the file version before loading it, because of earlier version problems. As i know, earlier every bass_fx.dll had version info.

Thanks for your kind help,
Gabor

(: JOBnik! :)

#707
Hi ;D

Rechecked and there's a version information in x86/x64 dlls...
I didn't remove it :)

BajakiGabesz

#708
Hi,

I just downloaded and unpacked the ZIP from the website and Windows didn't see the version and the FileInfo (.NET) is also only show 0.0.0.0.

I also found another problem with BASS_STREAM_AUTOFREE flag when the stream has assigned to Mixer then it's never freeing up the source. It's working fine when BASS_FX_TempoCreate not in use.

BASSFlag BASS_MP3_IGNOREDELAY = (BASSFlag)512;
BASSFlag bFlag = BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_SAMPLE_FLOAT | BASSFlag.BASS_ASYNCFILE | BASS_MP3_IGNOREDELAY;

audio.OriginalHandle = Bass.BASS_StreamCreateFile(file, 0, 0, bFlag);

BASSFlag bTempoFlag = BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_SAMPLE_FLOAT | BASSFlag.BASS_ASYNCFILE | BASS_MP3_IGNOREDELAY | BASSFlag.BASS_FX_TEMPO_ALGO_LINEAR | BASSFlag.BASS_FX_FREESOURCE;
                           
audioHandle = BassFx.BASS_FX_TempoCreate(audio.OriginalHandle, bTempoFlag);

BASSFlag soundInitFlags = BASSFlag.BASS_MIXER_PAUSE | BASSFlag.BASS_MIXER_DOWNMIX | BASSFlag.BASS_STREAM_AUTOFREE)
BassMix.BASS_Mixer_StreamAddChannel(Handle, audioHandle, soundInitFlags);

Maybe i do something wrong, but please check it. Until that i go back to the version 2.4.11.1.

Thanks for your help.

Arthur AGAPOFF

Hi there,

just in case this may help, here's an hardcopy from a previous and the current bass_fx.dll info as displayed by Windows (w10.64)


have you all a nice day.

(: JOBnik! :)

Hi ;D

Weird, the DLL itself has this info...
I'm checking what's wrong.

(: JOBnik! :)

Hi ;D

Fixed, please redownload the package :)

radio42

Still the same here - looks like the ZIP still contains the files from the 11-03-2018?!

(: JOBnik! :)

Hi ;D

Try again, I forgot to upload to un4seen.com as well :)

nadia

Hello  ;D

I think that I've found a regression inside the latest version 2.4.12 respect to the previous version 2.4.11 of bass_fx : when a stream is created through the BASS_StreamCreateFile function and then resampled through the BASS_FX_TempoCreate function, after starting playback it seems that it will not play up to the very end of the file so, when playback is apparently completed, the BASS_ChannelIsActive function will return BASS_ACTIVE_PLAYING instead of BASS_ACTIVE_STOPPED and, by invoking the BASS_ChannelGetPosition function, it will not return the same value of the BASS_ChannelGetLength function.

By reverting back to version 2.4.11 the problem disappears.

Kind Regards

nadia

Ian @ un4seen

Are you having that problem with a particular file and/or tempo setting, or is it always happening regardless?

nadia

Hello,  ;D

the attached file reproduces the issue without applying any tempo change.

Kind Regards  ;D

nadia

RootyElf

Quote from: zhiyb on  4 Oct '17 - 10:48
Quote from: Ian @ un4seen on  3 Oct '17 - 13:51To confirm whether that problem is related to BASS_FX, does it not happen if you don't use BASS_FX?

I actually don't think that problem is related to BASS_FX, BASS is more likely. The game need to load BASS and BASS_FX to start, so I need both of them in place. I probably should reduce it to a basic test case.

Recently, I have also tried to run osu! on aarch64 and I am pretty sure, that BASS_FX causes issues. The game uses BASS for sound effects and BASS_FX for the music. Every time the program tries to output music it either crashes or gets stuck. When osu! is started, it first outputs some sounds which works fine, but as soon as the music is supposed to start playing, the program does not continue anymore. I also tried running the program with BASS_FX removed from the system. In this case the program starts and also plays sound effects, though obviously no music. I also tried the same setup with the same library versions on a x64 machine which works fine.

Ian @ un4seen

Quote from: nadia on 31 May '18 - 18:13the attached file reproduces the issue without applying any tempo change.

I think I see what's going wrong (when flushing the final samples from the tempo processing buffers). Here's a little modification for you to try:

   www.un4seen.com/stuff/bass_fx.dll

Quote from: RootyElf on  2 Jun '18 - 18:18Recently, I have also tried to run osu! on aarch64 and I am pretty sure, that BASS_FX causes issues. The game uses BASS for sound effects and BASS_FX for the music. Every time the program tries to output music it either crashes or gets stuck. When osu! is started, it first outputs some sounds which works fine, but as soon as the music is supposed to start playing, the program does not continue anymore. I also tried running the program with BASS_FX removed from the system. In this case the program starts and also plays sound effects, though obviously no music. I also tried the same setup with the same library versions on a x64 machine which works fine.

To help confirm whether BASS_FX is causing the problem, can you try still playing the music but without the tempo processing? You can do that by removing the BASS_STREAM_DECODE flag from the source stream (eg. BASS_StreamCreateFile call) and removing the BASS_FX_TempoCreate call on it. If you're using BASS_FX's reverse processing, also remove the BASS_FX_ReverseCreate call.

nadia

Hello,  ;D

the test build seems to have sorted out the issue: I can see that this version is currently missing its version inside the resources, as reported some day ago by another user: please, le me know when the build will go official with the x64 version as well.

Thanks and kind regards  ;D

nadia

radio42

Yes, I would also like to get an official x32/x64 build with the version number included ;-)

Ian @ un4seen

Good to hear that the update fixed the problem. I have passed the code modification on to Arthur, so there will hopefully be an official BASS_FX update including that shortly.

RootyElf

Quote from: Ian @ un4seen on  4 Jun '18 - 13:39
Quote from: RootyElf on  2 Jun '18 - 18:18Recently, I have also tried to run osu! on aarch64 and I am pretty sure, that BASS_FX causes issues. The game uses BASS for sound effects and BASS_FX for the music. Every time the program tries to output music it either crashes or gets stuck. When osu! is started, it first outputs some sounds which works fine, but as soon as the music is supposed to start playing, the program does not continue anymore. I also tried running the program with BASS_FX removed from the system. In this case the program starts and also plays sound effects, though obviously no music. I also tried the same setup with the same library versions on a x64 machine which works fine.

To help confirm whether BASS_FX is causing the problem, can you try still playing the music but without the tempo processing? You can do that by removing the BASS_STREAM_DECODE flag from the source stream (eg. BASS_StreamCreateFile call) and removing the BASS_FX_TempoCreate call on it. If you're using BASS_FX's reverse processing, also remove the BASS_FX_ReverseCreate call.
OK, so the file which uses Bass_FX is this one: https://github.com/ppy/osu-framework/blob/master/osu.Framework/Audio/Track/TrackBass.cs. I removed the BASS_FX code and the Decode flag to have the music played without BASS_FX. Now the music plays on aarch64 as well.

(: JOBnik! :)

Hi ;D

there's now version 2.4.12.1 is released [07/06/2018]

2.4.12.1 - 07/06/2018
* BASS_FX:
  * Fixed file version info on Windows platforms.

* Tempo:
  * Fixed an issue with flushing the final samples from the tempo processing buffers as described in this post:
    http://www.un4seen.com/forum/?topic=2181.msg126906#msg126906

Vperus

Hello ,
fx currently missing bass as dependency.

% ldd libbass_fx.so (on linux):
    linux-vdso.so.1 (0x00007ffc59350000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fd79a690000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007fd79a2fb000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007fd799f3f000)
    /usr/lib64/ld-linux-x86-64.so.2 (0x00007fd79ac30000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fd799d27000)

% dumpbin /dependents bass_fx.dll
    msvcrt.dll
    bass.dll
    KERNEL32.dll
    USER32.dll

Regards,
Vperus