25 May '13 - 17:32 *
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]
  Reply  |  Print  
Author Topic: Help me Asio !!!!  (Read 267 times)
Salvo
Posts: 41


« on: 19 May '12 - 18:43 »
Reply with quoteQuote

because I can not feel together 2 mp3 files, I have 2 separate channels to mix 2 mp3 files.
 This is the code that does not work.
 Why?

-------------------------------------------
function AsioProc1(input: BOOL; Channel: DWORD; buffer: Pointer; Length: DWORD; user: Pointer): DWORD; stdcall;
var
  c: DWORD;
begin
  c := Bass_ChannelGetData(DWORD(User), buffer, Length);
  if (c = -1) then
    c := 0;
  Result := c;
end;
function AsioProc2(input: BOOL; Channel: DWORD; buffer: Pointer; Length: DWORD; user: Pointer): DWORD; stdcall;
var
  c: DWORD;
begin
  c := Bass_ChannelGetData(DWORD(User), buffer, Length);
  if (c = -1) then
    c := 0;
  Result := c;
end;

.............................................

BASS_Init(0, 44100, 0, 0, nil);
BASS_ASIO_Init(0,0);

BASS_ASIO_ChannelEnable(False, 0, @AsioProc1, Pointer(0));
BASS_ASIO_ChannelJoin(false, 1, 0);
BASS_ASIO_ChannelSetFormat(False, 0, BASS_ASIO_FORMAT_Float);
BASS_ASIO_ChannelPause(false, 0);

BASS_ASIO_ChannelEnable(False, 2, @AsioProc2, Pointer(2));
BASS_ASIO_ChannelJoin(false, 3, 2);
BASS_ASIO_ChannelSetFormat(False, 2, BASS_ASIO_FORMAT_Float);
BASS_ASIO_ChannelPause(false, 2);

BASS_ASIO_Start(0);



chan := BASS_StreamCreateFile(false, PChar('Test1.mp3'), 0, 0,BASS_SAMPLE_FLOAT or BASS_STREAM_DECODE or BASS_UNICODE or BASS_SAMPLE_LOOP);
chan := BASS_FX_TempoCreate(chan, BASS_FX_FREESOURCE or BASS_STREAM_DECODE);

chan2 := BASS_StreamCreateFile(false, PChar('Test2.mp3'), 0, 0,BASS_SAMPLE_FLOAT or BASS_STREAM_DECODE or BASS_UNICODE or BASS_SAMPLE_LOOP);
chan2 := BASS_FX_TempoCreate(chan2, BASS_FX_FREESOURCE or BASS_STREAM_DECODE);

BASS_ASIO_ChannelEnable(False, 0, @AsioProc1, Pointer(chan));
Bass_Asio_ChannelReset(false,0, BASS_ASIO_RESET_PAUSE);


BASS_ASIO_ChannelEnable(False, 2, @AsioProc2, Pointer(chan2));
Bass_Asio_ChannelReset(false,2, BASS_ASIO_RESET_PAUSE);

............................
Logged
Salvo
Posts: 41


« Reply #1 on: 20 May '12 - 12:16 »
Reply with quoteQuote

ok found the solution looking for other posts.
Logged
Pages: [1]
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.18 | SMF © 2013, Simple Machines