Author Topic: BASS_FX 2.4.12.1  (Read 648038 times)

Ian @ un4seen

  • Administrator
  • Posts: 21325
Re: BASS_FX 2.4.12.1
« Reply #725 on: 25 Jun '18 - 13:38 »
Yes, on Linux, BASS_FX (and the other add-ons) isn't linked with the libbass.so library and instead depend on it being loaded by the application first.

Vperus

  • Posts: 2
Re: BASS_FX 2.4.12.1
« Reply #726 on: 25 Jun '18 - 17:27 »
Any reasons to do it? For example if you want to use https://github.com/ManagedBass/ManagedBass with native libraries + NETCore you need to write platform dependent code to load it on linux, not just include-use.

Regards,
Vperus.

Ian @ un4seen

  • Administrator
  • Posts: 21325
Re: BASS_FX 2.4.12.1
« Reply #727 on: 26 Jun '18 - 13:53 »
The reason for it is that the application's directory isn't in Linux's library search path, ie. Linux won't find the libraries if they're placed alongside your executable (like Windows will). So the add-ons would fail to load if they were linked with the libbass.so library and it isn't installed in the library search path.

When using .Net, calling a BASS function before any add-on functions are called should ensure that the BASS library is loaded before the add-ons are. For example, you could call BASS_GetVersion first thing in your initialization code.

Sander van den Brakel

  • Guest
Re: BASS_FX 2.4.12.1
« Reply #728 on: 22 Oct '18 - 17:18 »
We use ManagedBass in C# to build Apps in Visual Studio.

We create streams like this:

Code: [Select]
var loopFlag = (loopState) ? BassFlags.Loop : BassFlags.Default;
_stream = Bass.CreateStream(AppEnvironment.AudioPath + filePath, 0, 0, loopFlag);

Works perfectly. However we now want to apply a pitch-shift fx on this stream (while it's already playing).
Is this possible with BassFX?

Thanks in advance....

Sander

Ian @ un4seen

  • Administrator
  • Posts: 21325
Re: BASS_FX 2.4.12.1
« Reply #729 on: 23 Oct '18 - 17:13 »
Yes, you can use the BASS_FX add-on's tempo processing for that. You will need to add the BASS_STREAM_DECODE flag to the BASS_StreamCreateFile call, and then call BASS_FX_TempoCreate on that stream to get a new stream with tempo processing enabled. You may also want to use the BASS_FX_FREESOURCE flag in the BASS_FX_TempoCreate call, to have the 1st stream automatically freed when the 2nd one is.

Note ManagedBass presents/names the functions and flags a bit differently but the process is the same.