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

Login with username, password and session length
 
  Home Help Search Login Register  
  Show Posts
Pages: [1] 2 3
1  Developments / BASS / Re: DTS on: 21 May '13 - 07:14
Thank you. Good to know.
ReplyReply Reply with quoteQuote
2  Developments / BASS / DTS on: 20 May '13 - 21:36
Hello,

How can we play DTS, extension wav in BASS?
Now i hear some noise
Help me please.
ReplyReply Reply with quoteQuote
3  Developments / BASS / Volume Equalizer on: 7 May '13 - 09:17
Is there another possibility beside lower down the DSP volume to determine the Equalizer volume?
It's important for use BASS_ChannelGetLevel because if the Equalizer is on the values are quit high.
The overall DSP volume is active for Compressor and Damp. But if i want to get a perfect ChannelGetlevel view i must put down the DSP volume to 50%
For Compressor i multiply the output 'ChannelGetLevel ' DSP volume. Works fine.
Maybe this is the only solution. I hope not.
Greetings.
ReplyReply Reply with quoteQuote
4  Developments / BASS / Re: NetRadio problem on: 28 Mar '13 - 12:39
I have tried my program on another computer with a different sound card. Problem does not occur anymore.
So it's my own soundcard that isn't good and after some checking I notice that changing the speaker configuration from 7.1 to 2.1 all work well.
I think that rewriting the program Sound Device settings (My own application) is the best solution.
Because the BASS_Getinfo speaker value = 2 using SPEAKER flags is not the best idea. But REAR and FRONT works with my soundcard? Lucky?

Maybe you need the BASS_GetInfo values:

flags: 3871 ($00000F1F)
hwsize: 0
hwfree: 0
freesam: 0
free3d: 0
minrate: 100
maxrate: 200000
eax: False
minbuf: 55
dsver: 9
latency: 50
initflags: 2304 ($00000900)
speakers: 2
freq: 48000

Soundcard settings: 48KHz/16bit.
Sample.mp3 = 44100Hz
(Don't think it's important anymore)

Regards,
Ed.
ReplyReply Reply with quoteQuote
5  Developments / BASS / Re: NetRadio problem on: 27 Mar '13 - 09:02
OS: Windows 7
SOUND: Creative Audigy SE (SB0570) Sound Card

Soundcard problem? Soundcard doesn't really understand BASS_SPEAKER_FRONT or BASS_SPEAKER_REAR. Audible good.  
BASS_GetInfo > Speakers = 2; But I hear, if selected,  sound in the REAR. Strange.
If I don't use flag: BASS_SPEAKER_FRONT in the StreamCreateURL I suppose all output must be right?  
(doesn't matter where or when I use BASS_SPEAKER_FRONT in another stream?)

I don't have an mono file. It's all MP3 stereo. I use only for listing Internet radio, not as a Shoutcast.

See this small source code in Delphi.
If you push Button1 (SOUND) after that Button2 (NO SOUND)
Or if you push Button2 (SOUND) after that Button1 (SOUND) and again Button2 (NO SOUND)
If I use BASS_SPEAKER_FRONT as flag in StreamCreateURL both work well.
Of course removing BASS_SPEAKER_FRONT they all work well.
Maybe you can reproduce this code? Simple test.

I don't understand  Huh

procedure TForm1.Button1Click(Sender: TObject);
begin
  BASS_StreamFree(chan); // close old stream
  chan := BASS_StreamCreateFile(False, PChar('d:\Sample.mp3'), 0, 0, BASS_UNICODE or BASS_SPEAKER_FRONT);
  if (chan <> 0) then
    BASS_ChannelPlay(chan, FALSE);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  BASS_StreamFree(chan); // close old stream
  chan := BASS_StreamCreateURL('http://somafm.com/suburbsofgoa24.pls', 0, 0, nil, 0);
  if (chan <> 0) then
    BASS_ChannelPlay(chan, FALSE);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  BASS_Init(-1, 44100, 0, Handle, nil);
  BASS_SetConfig(BASS_CONFIG_NET_PLAYLIST, 1); // enable playlist processing
  BASS_SetConfig(BASS_CONFIG_NET_PREBUF, 0); // minimize automatic pre-buffering, so we can do it (and display it) instead
end;

ReplyReply Reply with quoteQuote
6  Developments / BASS / Re: NetRadio problem on: 26 Mar '13 - 11:31
Working now, but:
What I mean exactly: (I don't understand why)

(HSTREAM): #1
Playerleft := BASS_StreamCreateFile(False, PChar(Fn), 0, 0, BASS_UNICODE);
Starting NetRadio:
NetRadio := BASS_StreamCreateURL(url, 0, BASS_STREAM_BLOCK or BASS_STREAM_STATUS or BASS_STREAM_AUTOFREE, @StatusProc, 0);
No problem with all TEN links.

(HSTREAM): #2
Playerleft := BASS_StreamCreateFile(False, PChar(Fn), 0, 0, BASS_UNICODE or BASS_SPEAKER_FRONT);
Starting NetRadio:
NetRadio := BASS_StreamCreateURL(url, 0, BASS_STREAM_BLOCK or BASS_STREAM_STATUS or BASS_STREAM_AUTOFREE, @StatusProc, 0);
Now the tree links I explained don't work.

(HSTREAM): #3
Playerleft := BASS_StreamCreateFile(False, PChar(Fn), 0, 0, BASS_UNICODE or BASS_SPEAKER_FRONT);
Starting NetRadio:
NetRadio := BASS_StreamCreateURL(url, 0, BASS_STREAM_BLOCK or BASS_STREAM_STATUS or BASS_STREAM_AUTOFREE or BASS_SPEAKER_FRONT, @StatusProc, 0);
Now everything works. All links.

I'm Dutch so it's sometimes difficult to explain it right.
Why MPEG2 don't play after a first BASS_StreamCreateFile with BASS_SPEAKER_FRONT flag.
Is Bass holding the FRONT flag, but why playing the rest and not the MPEG2 links.

Maybe is stupid question but i thought that using a new HSTREAM variable had has nothing to do with the Playerleft (HSTREAM) vars. So flags and channels is different?
Because I don't use the SPEAKER flag in the NetRadio. So like BASS_SPEAKER_NONE(RESET) or something like that.
I don't know anymore Huh
In the final I use the SPEAKER flag for all channels (Left, Right, Headphone, Effect) so this is not much of a problem. I'm curious.

Thanks in advanced.
Regards,
Ed.













ReplyReply Reply with quoteQuote
7  Developments / BASS / Re: NetRadio problem on: 25 Mar '13 - 17:26
I use the same BASS source and DLL for both applications. So it was time to give it another go.
After some hours of checking I found out that after putting a song in my Jukebox the internal NetRadio test doesn't work anymore because it use the BASS_SPEAKER_FRONT flag.
 
Added the same flag to BASS_StreamCreateURL everything works fine.
I was surprised because I thought without as flag always worked? Huh

Greetings,
Ed.
ReplyReply Reply with quoteQuote
8  Developments / BASS / Re: NetRadio problem on: 25 Mar '13 - 08:14
Nobody?
Maybe my question is unclear.

Can someone explain to me what the difference is between these two?

http://somafm.com/suburbsofgoa.pls (SOUND)
http://somafm.com/suburbsofgoa24.pls (NOSOUND)

The second link gives no BASS error code. Only NO sound and some META Tags..

Regards,
Ed.
ReplyReply Reply with quoteQuote
9  Developments / BASS / NetRadio problem on: 23 Mar '13 - 06:44
Hello,

I been testing NetRadio, found in your BASS Archive package and all TEN links work great. Just a simple call to BASS and tree Config:
BASS_SetConfig(BASS_CONFIG_NET_PLAYLIST, 1); // enable playlist processing
BASS_SetConfig(BASS_CONFIG_NET_PREBUF, 0); // minimize automatic pre-buffering, so we can do it (and display it) instead
BASS_SetConfigPtr(BASS_CONFIG_NET_PROXY, nil); // disable proxy
No problem in demo version and full sound.

The problem: I implemented the full original source in my own Jukebox in a new form/unit.
Try to listen to all TEN links result in a NOSOUND at THREE links. See below:

http://www.radioparadise.com/musiclinks/rp_128-9.m3u OK
http://www.radioparadise.com/musiclinks/rp_32.m3u (NOSOUND)
http://ogg2.as34763.net/vr160.ogg OK
http://ogg2.as34763.net/vr32.ogg OK
http://ogg2.as34763.net/a8160.ogg OK
http://ogg2.as34763.net/a832.ogg OK
http://somafm.com/secretagent.pls OK
http://somafm.com/secretagent24.pls (NOSOUND)
http://somafm.com/suburbsofgoa.pls OK
http://somafm.com/suburbsofgoa24.pls (NOSOUND)

After a few seconds the BASS_TAG_META is valid but no sound is heard  Cry
Only by the last link moreover. The first two has no valid BASS_TAG_META.

Maybe someone will help me why this isn't working within my own Jukebox?
A BASS_SetConfig problem?

Thank you.
Ed.







 
ReplyReply Reply with quoteQuote
10  Developments / BASS / Re: Transition effect songs on: 2 Nov '12 - 15:30
Working with fade you need at least two Streams.
And previous, noticed message 'SoundMike' it fadeOut song for 3 seconds (and stop, free stream) and FadeIn for 3 seconds.
You must calculate if the song had reach end position minus 3 seconds.     
Not an easy task if you want it superb.
 
ReplyReply Reply with quoteQuote
11  Developments / BASS / Re: ChannelBytes2Seconds in milliseconds on: 2 Nov '12 - 12:40
Take a look at this code, hope it helps a little bit.

TotalBytes := BASS_ChannelGetLength(Stream, BASS_POS_BYTE); // NORMAL
TotalPlayingTime := BASS_ChannelBytes2Seconds(Stream, TotalBytes); // Double

BASS_Sec2Time(BASS_DoubleToCardinal(Round(TotalPlayingTime)), bHours, bMinutes, bSeconds, bFractions);
// Format('%.2d:%.2d%.2d', [bMinutes, bSeconds, bFractions]);

function BASS_DoubleToCardinal(Value: Double): Cardinal;
begin
  Result := Round(Value * 1000);
end;

function BASS_Sec2Time(BASS_Sec: Cardinal; var tHours, tMinutes, tSecs, tFractions: Cardinal): Int64;
var
  MilliSec, Seconds: Int64;
begin
  MilliSec := BASS_Sec; // BASS_DoubleToCardinal(BASS_Sec);
  Seconds := MilliSec div 1000;
  tHours := (Seconds div 3600);
  tMinutes := (((Seconds - ((tHours) * 3600)) div 60));
  tSecs := (Seconds - ((tHours) * 3600 + (tMinutes) * 60));
  tFractions := (MilliSec - (((tHours) * 3600 + (tMinutes) * 60) + (tSecs)) * 1000);
  tFractions := Round(tFractions / 10);
  if (tFractions > 99) then
    tFractions := 99; // Dec(tFractions);
  Result := MilliSec;
end;
ReplyReply Reply with quoteQuote
12  Developments / BASS / Re: Writing custom tags on: 27 Oct '12 - 11:52
Hello,

I'm working also with AudioGenie3 and you can easily read user defined metatags.  
Just a little function will do the trick.

function ID3V2GetUserText(aTagValue: string): WideString;
  var
    Index, Count: Integer;
    aFoundTag: WideString;
  begin
    Result := '';
    Count := edReadAudioTags.ID3V2GetFrameCountW(TID3FrameID(ID3F_TXXX));
    for index := 1 to Count do begin
      aFoundTag := edReadAudioTags.ID3V2GetUserTextDescriptionW(index);
      if (LowerCase(aFoundTag) = LowerCase(aTagValue)) then Result := edReadAudioTags.ID3V2GetUserTextW(index); // INHOUD!
    end;
  end;

Call it with (example):
Result := ID3V2GetUserText('TEMPO');

Hope to help you for so far.

Greetings!


ReplyReply Reply with quoteQuote
13  Developments / BASS / Re: Failed Decode BPM on: 20 Sep '12 - 23:41
Is it possible to get some better accurate BPM measurement if i skip some threshold at the beginning and at the End of a stream?
Thats the question. I know that real time measuring is better and useful if you don't need it before playing.   
Please help me with this question before i start to program.
Thank you,
Regards,
Ops2011
ReplyReply Reply with quoteQuote
14  Developments / BASS / Re: Volume on: 9 Aug '12 - 08:59
I give it a try. Thanks.
ReplyReply Reply with quoteQuote
15  Developments / BASS / Volume on: 8 Aug '12 - 14:08
Just a global question.
Like VLC-Media player you can increased the volume to higher override. Put it to 130% of whatever?
Is this possible with Bass?
Regards.   
ReplyReply Reply with quoteQuote
16  Developments / BASS / Re: Drop-outs after fading (Playing next song) on: 30 Jul '12 - 11:33
The problem was the Timer, every time the processor is overloaded the timer reloads. That was a fault in my source i noticed. I put it all together and followed Chris his idea. I focused to much on Timer calls. Thank you. See here some results: ( Just left only for view )

{==============================================================================}
{== ChannelSetSync of the type BASS_SYNC_POS (SyncHandle PlayerLeft) ==========}
{==============================================================================}

procedure LeftFadeTimeStart(SyncHandle: HSYNC; Channel, data, user: DWORD); stdcall;
begin
  aSyncBoolLeft.hSyncFadeTimeStart := True;
  frmJukebox.LeftFadeTimeStartProc;
end;

procedure LeftStartFadeIn(SyncHandle: HSYNC; Channel, data, user: DWORD); stdcall;
begin
  aSyncBoolLeft.hSyncStartFadeIn := True;
  frmJukebox.LeftStartFadeInProc;
end;

procedure LeftStartFadeOut(SyncHandle: HSYNC; Channel, data, user: DWORD); stdcall;
begin
  aSyncBoolLeft.hSyncStartFadeOut := True;
  frmJukebox.LeftStartFadeOutProc;
end;

procedure LeftAutoCue(SyncHandle: HSYNC; Channel, data, user: DWORD); stdcall;
begin
  aSyncBoolLeft.hSyncAutoCue := True;
  frmJukebox.LeftAutoCueProc;
end;

procedure LeftEndStream(SyncHandle: HSYNC; Channel, data, user: DWORD); stdcall;
begin
  aSyncBoolLeft.hSyncEndStream := True;
  frmJukebox.LeftEndStreamProc;
end;
 

And with a little bit help from WndProc:

procedure TfrmJukebox.WndProc(var Msg: TMessage);
begin
  inherited;
  if Msg.Msg = WM_INFO_UPDATE then
    case msg.WParam of
      EJB_MSG_INIT_PLAYER_LEFT: InitPlayerLeft;
        // SendMessage(Handle, WM_INFO_UPDATE, EJB_MSG_INIT_PLAYER_LEFT, 0);
      EJB_MSG_INIT_PLAYER_RIGHT: InitPlayerRight;
        // SendMessage(Handle, WM_INFO_UPDATE, EJB_MSG_INIT_PLAYER_RIGHT, 0);
      EJB_MSG_NOTIFY_NACK_LEFT: MessagePlayerNotifyNack(PlayerLeft, msg.LParam);
        // SendMessage(Handle, WM_INFO_UPDATE, EJB_MSG_NOTIFY_NACK_LEFT, ErrorGetCode);
      EJB_MSG_NOTIFY_NACK_RIGHT: MessagePlayerNotifyNack(PlayerRight, msg.LParam);
        // SendMessage(Handle, WM_INFO_UPDATE, EJB_MSG_NOTIFY_NACK_RIGHT, ErrorGetCode);
      EJB_MSG_UPDATE_STATUS_PANELS: UpdateStatusPanels;
        // SendMessage(Handle, WM_INFO_UPDATE, EJB_MSG_UPDATE_STATUS_PANELS, 0);
      EJB_MSG_MARGUEE_INFO_LEFT: MargueeInfoLinks.Items[0].Text := CreateMargueeInfo(LeftPlayerInfo.MusicInfo);
        // SendMessage(Handle, WM_INFO_UPDATE, EJB_MSG_MARGUEE_INFO_LEFT, 0);
      EJB_MSG_MARGUEE_INFO_RIGHT: MargueeInfoRechts.Items[0].Text := CreateMargueeInfo(RightPlayerInfo.MusicInfo);
        // SendMessage(Handle, WM_INFO_UPDATE, EJB_MSG_MARGUEE_INFO_RIGHT, 0);
      EJB_MSG_UPDATE_INFO_BLOCK: UpdateInfoBlok;
        // SendMessage(Handle, WM_INFO_UPDATE, EJB_MSG_CLEAR_PLAYER_LEFT, BoolToInt(ClearInfo));
      EJB_MSG_CLEAR_PLAYER_LEFT: ClearPlayerLeft(IntToBool(msg.LParam));
        // SendMessage(Handle, WM_INFO_UPDATE, EJB_MSG_CLEAR_PLAYER_RIGHT, BoolToInt(ClearInfo));
      EJB_MSG_CLEAR_PLAYER_RIGHT: ClearPlayerRight(IntToBool(msg.LParam));
    end;
end;

Must do the trick to get it all right without failures.

Question: I have some problems to call ShowMessage if in the fade moment a file does not exists? I am very certain that i call this within a Message. But i know that the procedure that i am calling to select the next song is not in the SendMessage WndProc. Like this:

procedure TfrmJukebox.PlayerLeftNotifyNack(ErrorGetCode: Integer); { < Called
begin
  ArtistLeft.Caption := PlayerLeft.PlayBuffer.Filename;
  TitleLeft.Caption := BASSErCodes[ErrorGetCode];
  {MessagePlayerNotifyNack(PlayerLeft, ErrorGetCode); = now Sendmessage}
  SendMessage(Handle, WM_INFO_UPDATE, EJB_MSG_NOTIFY_NACK_LEFT, ErrorGetCode); { Here is Sendmessage }
end;
   

System hangs after notify.

Question II: I use only streams to play music. Is the flag 'BASS_SAMPLE_FLOAT' obsolete? I don't use DECODED channels.

Regards.


 
     
ReplyReply Reply with quoteQuote
17  Developments / BASS / Re: Drop-outs after fading (Playing next song) on: 25 Jul '12 - 09:05
I take another good look at the code because maybe something overlooked.
Thanks anyway.
ReplyReply Reply with quoteQuote
18  Developments / BASS / Re: Drop-outs after fading (Playing next song) on: 24 Jul '12 - 09:00
I adjusted  BASS_SetVolume(0) > BASS_ChannelSetAttribute(Stream, BASS_ATTRIB_VOL, 0)
The problem occurs again.

I noticed that my computer is using a lot of resources (like calculating .par files) when this occurs (I notice now and had no idea before). But only at the start of the music. If the music continued to play, no problem. 
Is this a simple processor fault? When starting a song the BASS engine has not enough resources to start right away?

Do you have a solution to fix this or is it just the way it is?
I use: BASS_CONFIG_UPDATETHREADS = 1; (I have a dual processor so, setting to 2?) or more?
Can i use BASS_CONFIG_BUFFER to improve?
Or is this down the road and play your songs without running 'heavy' background programs?

Hope the explanation is clear and free me from further searching.     

Thanks in advanced.
Eduard.



ReplyReply Reply with quoteQuote
19  Developments / BASS / Re: Drop-outs after fading (Playing next song) on: 24 Jul '12 - 03:02
Thanks Chris and Ian.

I think that the Timer works great. I uses some Hires Timers.

What about Ian, great. This is the only 'volume' fault. So this must be it?
I give it a go and hope's this adjustment works. It take some time to check this!

Greetings...
ReplyReply Reply with quoteQuote
20  Developments / BASS / Re: Drop-outs after fading (Playing next song) on: 23 Jul '12 - 16:20
Are you doing the Fadeing Stuff inside a Timer ??
Chris

Yes all is Timer. That's why i'am use case label for progress?
Every step is to the next step.
so see my code.
ReplyReply Reply with quoteQuote
Pages: [1] 2 3
Powered by SMF 1.1.18 | SMF © 2013, Simple Machines