Hi are your sure that you have setup the temposlider with a SmallInt and not with a DWORD ???
example
procedure TPlayerA.TempoSet (aValue : DWORD);
begin
if (Bass_ChannelIsActive(Bass_FX_TempoGetResampledHandle(Channel))= 0 ) then exit;
Bass_FX_TempoSet(channel,aValue,-1,-100);
end;
Thats wrong because DWORD cannot be set as a negative Value
This will work
procedure TPlayerA.TempoSet (aValue : Shortint);
begin
if (Bass_ChannelIsActive(Bass_FX_TempoGetResampledHandle(Channel))= 0 ) then exit;
Bass_FX_TempoSet(channel,aValue,-1,-100);
end;
This will work ( Shortint -128..127 )
or a better way (This have i make)
type
TTempo = -24..24;
procedure TPlayerA.TempoSet (aValue : TTempo);
begin
if (Bass_ChannelIsActive(Bass_FX_TempoGetResampledHandle(Channel))= 0 ) then exit;
Bass_FX_TempoSet(channel,aValue,-1,-100);
end;
Greets chris