21 May '13 - 21:33 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: 1 ... 28 29 [30]
  Reply  |  Print  
Author Topic: BASS_FX 2.4.9  (Read 257993 times)
(: JOBnik! :)
Posts: 984


« Reply #580 on: 17 Dec '12 - 10:28 »
Reply with quoteQuote

Hi Grin

I guess "timeSetEvent" function in Delphi can't accept "Pointer" in "user" param.
Then please try changing "Pointer" to "Integer" and see if it helps in "GetBeatPos_Callback" function:

procedure GetBeatPos_Callback(handle: DWORD; beatpos: DOUBLE; user: Pointer); stdcall;

if it doesn't helps, then it's needed somehow to typecast "Pointer" to "Integer"

e.g:
timeSetEvent(round((beatpos - curpos) * 1000), 0, @beatTimerProc, DWORD(user), TIME_ONESHOT);
« Last Edit: 17 Dec '12 - 11:14 by (: JOBnik! :) » Logged
hamsen
Posts: 22


« Reply #581 on: 17 Dec '12 - 15:40 »
Reply with quoteQuote

Thanks for your help.
I typecasted like this:
timeSetEvent(round((beatpos - curpos) * 1000), 0, @beatTimerProc, NativeUInt(user), TIME_ONESHOT);
and it Works fine.

Logged
hamsen
Posts: 22


« Reply #582 on: 30 Dec '12 - 08:58 »
Reply with quoteQuote

I finally managed to get BPM detection to work.
Unfortunately, I don't think the values are correct.

I have tested various programs available on the internet.
Many of them yields the same values as I get with my code (probably because they use the same code).

I have compared the generated values of some songs to a database of BPM's found on the internet.
None of my values are close to those values.

However, Mixmeister BPM Analyzer seems to calculate the "correct" values.

Anyone have any thoughts on this?

Regards
Thomas
Logged
(: JOBnik! :)
Posts: 984


« Reply #583 on: 3 Feb '13 - 18:47 »
Reply with quoteQuote

Hi Grin

there's now version 2.4.9 is released

2.4.9 - 16/01/2013
------------------
* BASS_FX:
  * WinCE version introduced (package bass_fx24-ce.zip) currently doesn't include most BASS_FX_BFX_xxx effects.
  * Linux ARM version introduced (package bass_fx24-linux-arm.zip) currently doesn't include most BASS_FX_BFX_xxx effects.

* DSP:
  * Added more effects to Android, WinCE & Linux ARM ports:
     BASS_FX_BFX_PEAKEQ
     BASS_FX_BFX_MIX
     BASS_FX_BFX_VOLUME_ENV

* Tempo and Reverse:
  * According to this request: http://www.un4seen.com/forum/?topic=13910
    Added support for DECODETO option.

* Tempo:
  * iOS, WinCE & Linux ARM: Enabled the BASS_ATTRIB_TEMPO_OPTION_USE_QUICKALGO option on tempo
    streams by default for lower CPU usage. See docs on how to disable it.

* iOS: Added armv7s architecture support.
« Last Edit: 3 Feb '13 - 19:13 by (: JOBnik! :) » Logged
zittergie
Posts: 10


« Reply #584 on: 19 Feb '13 - 19:23 »
Reply with quoteQuote

Using BASS_FX 2.4.9 on Raspberry Pi to code an EQ takes up 100% CPU and music start to stutter.
Disabling to EQ and all works fine.

I am using the hard float version.

Is it doable to code a working EQ on the Raspberry Pi ?

procedure TFormEQ.SetEQ;
var mystream: HStream;
begin
  case stream of
    1: mystream:=genBassStream1;
    2: mystream:=genBassStream2;
    3: mystream:=CDStream;
    4: mystream:=Reversestream;
    5: mystream:=Radiostream;
  end;

  PreVolume.lChannel:=BASS_BFX_CHANALL;
  PreVolume.fVolume:=1;

  FxEqualizer[0]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_VOLUME,1);
  FxEqualizer[1]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_PEAKEQ,1);
  FxEqualizer[2]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_PEAKEQ,1);
  FxEqualizer[3]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_PEAKEQ,1);
  FxEqualizer[4]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_PEAKEQ,1);
  FxEqualizer[5]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_PEAKEQ,1);
  FxEqualizer[6]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_PEAKEQ,1);
  FxEqualizer[7]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_PEAKEQ,1);
  FxEqualizer[8]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_PEAKEQ,1);
  FxEqualizer[9]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_PEAKEQ,1);
  FxEqualizer[10]:=BASS_ChannelSetFX(mystream,BASS_FX_BFX_PEAKEQ,1);

  PreVolume.lChannel:=BASS_BFX_CHANALL;
  PreVolume.fVolume:=Trackbar1.Position/100;
  BASS_FXSetParameters(FxEqualizer[0],@PreVolume);;

  Equalizer.fGain:=TB_EQ1.Position;
  Equalizer.fBandwidth:=1;
  Equalizer.fCenter:=32;
  Equalizer.lBand:=10;
  Equalizer.lChannel:=BASS_BFX_CHANALL;
  BASS_FXSetParameters(FxEqualizer[1],@Equalizer);
  Equalizer.fGain:=TB_EQ2.Position;
 // Equalizer.lBand:=2;
  Equalizer.fCenter:=64;
  BASS_FXSetParameters(FxEqualizer[2],@Equalizer);
  Equalizer.fGain:=TB_EQ3.Position;
//  Equalizer.lBand:=3;
  Equalizer.fCenter:=128;
  BASS_FXSetParameters(FxEqualizer[3],@Equalizer);
  Equalizer.fGain:=TB_EQ4.Position;
//  Equalizer.lBand:=4;
  Equalizer.fCenter:=256;
  BASS_FXSetParameters(FxEqualizer[4],@Equalizer);
  Equalizer.fGain:=TB_EQ5.Position;
//  Equalizer.lBand:=5;
  Equalizer.fCenter:=512;
  BASS_FXSetParameters(FxEqualizer[5],@Equalizer);
  Equalizer.fGain:=TB_EQ6.Position;
//  Equalizer.lBand:=6;
  Equalizer.fCenter:=1024;
  BASS_FXSetParameters(FxEqualizer[6],@Equalizer);
  Equalizer.fGain:=TB_EQ7.Position;
//  Equalizer.lBand:=7;
  Equalizer.fCenter:=2048;
  BASS_FXSetParameters(FxEqualizer[7],@Equalizer);
  Equalizer.fGain:=TB_EQ8.Position;
//  Equalizer.lBand:=8;
  Equalizer.fCenter:=4096;
  BASS_FXSetParameters(FxEqualizer[8],@Equalizer);
  Equalizer.fGain:=TB_EQ9.Position;
//  Equalizer.lBand:=9;
  Equalizer.fCenter:=8192;
  BASS_FXSetParameters(FxEqualizer[9],@Equalizer);
  Equalizer.fGain:=TB_EQ10.Position;
//  Equalizer.lBand:=10;
  Equalizer.fCenter:=16384;
  BASS_FXSetParameters(FxEqualizer[10],@Equalizer);
end; 
Logged
Ian @ un4seen
Administrator
Posts: 15259


« Reply #585 on: 20 Feb '13 - 14:37 »
Reply with quoteQuote

It would be more efficient to have a single BASS_FX_BFX_PEAKEQ effect instance with multiple bands, rather than a separate effect for each band, ie. call BASS_ChannelSetFX only once and then make use of the "lBand" to set each band's parameters. Your parameter setting code could be modified something like this...

  Equalizer.fGain:=TB_EQ1.Position;
  Equalizer.fBandwidth:=1;
  Equalizer.fCenter:=32;
  Equalizer.lBand:=0;
  Equalizer.lChannel:=BASS_BFX_CHANALL;
  BASS_FXSetParameters(FxEqualizer[1],@Equalizer);
  Equalizer.fGain:=TB_EQ2.Position;
  Equalizer.lBand:=1;
  Equalizer.fCenter:=64;
  BASS_FXSetParameters(FxEqualizer[1],@Equalizer);
  Equalizer.fGain:=TB_EQ3.Position;
  Equalizer.lBand:=2;
  Equalizer.fCenter:=128;
  BASS_FXSetParameters(FxEqualizer[1],@Equalizer);
...
Logged
zittergie
Posts: 10


« Reply #586 on: 20 Feb '13 - 19:11 »
Reply with quoteQuote

Thanx,

Going to test this.  Now I see how it works and should be used.

Tested and it works good on the Pi.
Now only stuttering when fading out/in of two songs.
« Last Edit: 28 Feb '13 - 22:49 by zittergie » Logged
DoctorDangerous
Posts: 17


« Reply #587 on: 8 Apr '13 - 09:10 »
Reply with quoteQuote

Got it working in .NET. Nice library. Thanks!
« Last Edit: 8 Apr '13 - 10:04 by DoctorDangerous » Logged
nadia
Posts: 272


« Reply #588 on: 7 May '13 - 09:08 »
Reply with quoteQuote

Hello  Grin

I think that I've found a regression in versions 2.4.8 and 2.4.9 of BASS_FX respect to version 2.4.7.

Calls to the BASS_FX_BPM_BeatSetParameters function seem to always return FALSE and parameters are not acccepted; BASS_ErrorGetCode returns error 5; this is very strange because a subsequent call to the BASS_FX_BPM_BeatDecodeGet function works as expected and will not return any error but, obviously, will work with its default parameters. The passed stream handle, which is a decoding channel, should be OK or it should fail as well.

Any idea? As mentioned, with version 2.4.7 the problem doesn't happen so it's likely that something changed....  Huh

As a second matter, looking at the documentation and at the header file, I've noticed that the first parameter of the BASS_FX_BPM_BeatDecodeGet function is named "chan" while for other "beat" related functions the first parameter is named "handle": am I right in assuming that they always mean the same thing?

Kind Regards  Grin

Nadia
Logged
(: JOBnik! :)
Posts: 984


« Reply #589 on: 7 May '13 - 16:25 »
Reply with quoteQuote

Hi Grin

You're right!
I see that there indeed were some changes in BASS_FX_BPM_BeatDecodeGet function... and now you can't set parameters for decoding detection, because channel handle is freed Wink

It will be fixed in next release Smiley

btw, chan means for decoding channel and handle is for both Smiley
Logged
nadia
Posts: 272


« Reply #590 on: 8 May '13 - 12:53 »
Reply with quoteQuote

Hi  Grin

thanks for confirming my doubts: do you have a time frame about the next release ?

Kind Regards  Grin

Nadia

Hi Grin

You're right!
I see that there indeed were some changes in BASS_FX_BPM_BeatDecodeGet function... and now you can't set parameters for decoding detection, because channel handle is freed Wink

It will be fixed in next release Smiley

btw, chan means for decoding channel and handle is for both Smiley
Logged
(: JOBnik! :)
Posts: 984


« Reply #591 on: 9 May '13 - 12:37 »
Reply with quoteQuote

Hi Grin

Working on it Smiley
I believe that by the end of this month it will be ready.

Also a note, there will be an API changes in DSP definitions and structures and BPM functions (BASS_FX_BPM_Translate is removed)...
I might also remove BASS_FX_BPM_BeatDecodeGet function, as all of it content could be done pretty easily by a user and if I'll remove it, then all of it content will be added to BPM example (not decided yet) Smiley

It will be 2.4.10, but with changes I've planned for 2.5 Smiley
« Last Edit: 9 May '13 - 12:40 by (: JOBnik! :) » Logged
nadia
Posts: 272


« Reply #592 on: 9 May '13 - 23:01 »
Reply with quoteQuote

Hi  Grin

is there any chance to get a pre-release that would fix this specific bug in a shorter time ?  Wink

Kind Regards  Grin

Nadia


Hi Grin

Working on it Smiley
I believe that by the end of this month it will be ready.

Also a note, there will be an API changes in DSP definitions and structures and BPM functions (BASS_FX_BPM_Translate is removed)...
I might also remove BASS_FX_BPM_BeatDecodeGet function, as all of it content could be done pretty easily by a user and if I'll remove it, then all of it content will be added to BPM example (not decided yet) Smiley

It will be 2.4.10, but with changes I've planned for 2.5 Smiley
Logged
(: JOBnik! :)
Posts: 984


« Reply #593 on: 12 May '13 - 10:21 »
Reply with quoteQuote

Hi Grin

I can't send it now, because I've made some compatibility break changes in library and headers.
I'm about to revert compatibility break changes, to remain in library, but no in documentations, then you'll be able to test it Wink
« Last Edit: 15 May '13 - 12:27 by (: JOBnik! :) » Logged
Pages: 1 ... 28 29 [30]
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.18 | SMF © 2013, Simple Machines