19 Jun '13 - 15:08 *
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 2 3 4 [All]
  Reply  |  Print  
Author Topic: BASS_CDG  (Read 19299 times)
Ionut Cristea
Posts: 1382


« on: 27 Sep '10 - 20:17 »
Reply with quoteQuote

  Hello all.
  I want to present for you a new addon for BASS. This addon will be able to play any CDG karaoke file.
  This addon is freeware.

                                                              Latest 13 November 2011
-better A/V sync
-video rendering is done with Directdraw7(better performance)


Download x86:http://surodev.com/downloads/BASS_CDG.zip



Quote
Latest(29 September 2010)
 - added option to get current bitmap
 - added support for user drawing(see the demo).

 
Quote
Latest(28 september 2010):
-UNICODE support
-BASS_FX support
-work as a BASS plugin

Download:(Delphi and C++ headers included)

x86:http://surodev.com/downloads/BASS_CDG.zip

x64:http://surodev.com/downloads/BASS_CDGx64.rar

  
« Last Edit: 12 Nov '11 - 22:07 by Ionut Cristea » Logged
ken
Posts: 630


« Reply #1 on: 27 Sep '10 - 22:40 »
Reply with quoteQuote

I like it, works fine, keep up the work. 

a few suggestions.
- Play "zip" files (mp3 & cdg zipped)
- Sync playback when position is changed.
- Sync playback when pitch/temo (bass_fx) is changed.

/Ken
Logged
Ionut Cristea
Posts: 1382


« Reply #2 on: 28 Sep '10 - 10:20 »
Reply with quoteQuote

  BASS_CDG as BASS plugin  is ready Grin

-UNICODE support
-BASS_FX support
-easy CDG play Grin

EXAMPLE:

  
Quote
 BASS_PluginLoad("BASS_CDG.DLL",0);
  chan:=BASS_StreamCreateFile(false,"myfilename.cdg",0,0,0);
  BASS_CDG_SetVideoWindow(chan,myHWND);
  BASS_ChannelPlay(chan);
 The Package contains C++ and Delphi headers and examples. Maybe someone could translate the header for VB. Also if radio42 have time to implement this new BASS addon in BASS.NET it will be great.
  Also, if anyone want more features for this addon please send me a PM.

                  http://www.surodev.com/BASS_CDG.zip

                 Thanks,
                 Ionut Cristea.
Logged
Ionut Cristea
Posts: 1382


« Reply #3 on: 28 Sep '10 - 15:46 »
Reply with quoteQuote

  A little update Grin

-Fixed bug when changing the video window display.

* BASS_CDG.rar (68.06 KB - downloaded 32 times.)
Logged
Ionut Cristea
Posts: 1382


« Reply #4 on: 29 Sep '10 - 15:26 »
Reply with quoteQuote

  New version.

- added option to get current bitmap
- added support for user drawing(see the demo).

http://www.surodev.com/BASS_CDG.zip
Logged
Ionut Cristea
Posts: 1382


« Reply #5 on: 29 Sep '10 - 17:02 »
Reply with quoteQuote

  A x64 version is also available:
http://www.surodev.com/BASS_CDGx64.rar
       

   Thanks,
   Ionut Cristea.
 
Logged
Norbert Stellberg
Posts: 70


« Reply #6 on: 29 Sep '10 - 17:55 »
Reply with quoteQuote

Hello,

good job. This was, was I missed on MP3 karaoke files.
Thanks.
A little problem.
I does use it with Delphi 7
When I start a CDG file it is bumping. (flickering)
What can I do?

with best regards
Norbert
Logged
Norbert Stellberg
Posts: 70


« Reply #7 on: 29 Sep '10 - 18:53 »
Reply with quoteQuote

Hello,

forgot it, what I wrote. Sorry. I saw the new version after I wrote my message.
Now it works perfect. Thanks.
with best regards
Norbert
Logged
radio42
Posts: 4030


« Reply #8 on: 29 Sep '10 - 20:04 »
Reply with quoteQuote

I'll add that to Bass.Net very soon!
Logged
Ionut Cristea
Posts: 1382


« Reply #9 on: 30 Sep '10 - 08:14 »
Reply with quoteQuote

Quote
Hello,

forgot it, what I wrote. Sorry. I saw the new version after I wrote my message.
Now it works perfect. Thanks.
with best regards
Norbert

I'm glad to hear this Grin

Quote
I'll add that to Bass.Net very soon!

 Thanks.
Logged
Ionut Cristea
Posts: 1382


« Reply #10 on: 1 Oct '10 - 06:45 »
Reply with quoteQuote

  Fixed bug when BASS_CDG can't find a mp3,wav,flac or wma song to render.

* BASS_CDG.zip (68.09 KB - downloaded 26 times.)
Logged
Ionut Cristea
Posts: 1382


« Reply #11 on: 2 Oct '10 - 11:18 »
Reply with quoteQuote

  Here is a nice tutorial using BASS_CDG addon in Delphi. I hope you'll like it.
http://www.delphi-zone.com/2010/10/how-to-make-your-own-cdg-karaoke-player-cdg/
Logged
OldUser
Guest
« Reply #12 on: 2 Oct '10 - 14:30 »
Reply with quoteQuote

Original source and information to the Author here
http://www.codeproject.com/KB/audio-video/karaokedotnet.aspx

written in Vb.NET with Bass and BassFx
Author Ron Schuler

greets
Logged
Ionut Cristea
Posts: 1382


« Reply #13 on: 2 Oct '10 - 14:47 »
Reply with quoteQuote

 
Quote
Original source and information to the Author here
http://www.codeproject.com/KB/audio-video/karaokedotnet.aspx

written in Vb.NET with Bass and BassFx
Author Ron Schuler

greets

   I don't tink so Grin
If you looked carefull you'll see that BASS_CDG is full C++ and the Ron Schuler source is .NET.
   Cheers,
   Ionut Cristea.
Logged
OldUser
Guest
« Reply #14 on: 2 Oct '10 - 14:53 »
Reply with quoteQuote

i can translate it in 20 Min t C++
see your sample Picture and the Picture of NET
definitiv the same as source from Ron Schuler

do publish any the make publish the original user of this source
Thank You your appreciate the work of other people

sorry for my Bad english
PS... i have written a replay on your tutorial
http://www.delphi-zone.com/2010/10/how-to-make-your-own-cdg-karaoke-player-cdg/
Please read
http://www.opensource.org/licenses/gpl-3.0.html

greets
Logged
Ionut Cristea
Posts: 1382


« Reply #15 on: 2 Oct '10 - 15:03 »
Reply with quoteQuote

Quote
i can translate it in 20 Min t C++

Good for you...
Quote
ee your sample Picture and the Picture of NET
definitiv the same as source from Ron Schuler

That so?
So please tell me:
What media player is this Winamp or XMPlay ?
http://bluenexus.com.au/dev/temp/wamodern-NightVision_thumb.png
Also look here:
http://www.un4seen.com/forum/?topic=11842.0
Quote
Thank You your appreciate the work of other people
I always apreciate the other people works...but it seems that you don't. Just tink.

Oh...and not to forget...don't be so macho over this forum...you have done the same thing when i first release BASS_DSHOW. So...please tell do you have something with me and my work or what? 
Logged
OldUser
Guest
« Reply #16 on: 2 Oct '10 - 15:07 »
Reply with quoteQuote

i will send a abuse report to the Author
and on codeproject that your pubish stolen sourcecode from other user
without permission of it.

ADMIN! you can delete this messages now.
no problem for me.

greets
Logged
Ionut Cristea
Posts: 1382


« Reply #17 on: 2 Oct '10 - 15:10 »
Reply with quoteQuote

  And one more thing..
If my source code produce almost the same results like Ron Schuler code don't mean that is exacly it's source. capiche?

Quote
i will send a abuse report to the Author
and on codeproject that your pubish stolen sourcecode from other user
without permission of it.

ADMIN! you can delete this messages now.
no problem for me.

greets

  Ok...send..go ahead. You don't scared me. Thanks
« Last Edit: 2 Oct '10 - 15:14 by Sharky08 » Logged
OldUser
Guest
« Reply #18 on: 2 Oct '10 - 15:37 »
Reply with quoteQuote

That is what i mean!!!

I would like to thank:

•Nikolay Nikolov for writing the original CDG code in C++
•The authors of the BASS sound library
•Anyone else whose code snippets I may have borrowed

i hope you undertstand
Logged
Ionut Cristea
Posts: 1382


« Reply #19 on: 2 Oct '10 - 16:15 »
Reply with quoteQuote

  OK...i want to thanks because you are are not a match with me: Grin
Quote
•Nikolay Nikolov for writing the original CDG code in C++
•The authors of the BASS sound library
•Anyone else whose code snippets I may have borrowed
 
Logged
Ionut Cristea
Posts: 1382


« Reply #20 on: 6 Oct '10 - 13:01 »
Reply with quoteQuote

  Download Links updated. Please check first post to download.

  Thanks.
Logged
ne0ge0
Posts: 24


« Reply #21 on: 20 Oct '10 - 08:46 »
Reply with quoteQuote

Is there any way to improve performance; especially when playing maximised or full-screen?

ne0ge0.
Logged
Ionut Cristea
Posts: 1382


« Reply #22 on: 20 Oct '10 - 09:36 »
Reply with quoteQuote

  Hello,

I can do a improvement using Directdraw or OpenGL. What do you preffer more?
Logged
ne0ge0
Posts: 24


« Reply #23 on: 20 Oct '10 - 13:53 »
Reply with quoteQuote

Whichever would be easier for you, and for me to implement in C#.
Logged
Ionut Cristea
Posts: 1382


« Reply #24 on: 22 Oct '10 - 10:00 »
Reply with quoteQuote

  Hello,

 I've replaced the GDI drawing with the Direct3D. Ihope it will work well for you.

http://surodev.com/downloads/BASS_CDG.dll
Logged
ne0ge0
Posts: 24


« Reply #25 on: 24 Oct '10 - 10:19 »
Reply with quoteQuote

Hi Sharky,

I've tried the new dll using the demo that you created.

I like the anti-aliasing around the edges, but is there any way to improve the jerkiness.

I'm using the free player from Karafun as a benchmark.

http://www.karafun.com/karaokeplayer/

Thanks again,

ne0ge0
Logged
Ionut Cristea
Posts: 1382


« Reply #26 on: 24 Oct '10 - 10:23 »
Reply with quoteQuote

Quote
Hi Sharky,

I've tried the new dll using the demo that you created.

I like the anti-aliasing around the edges, but is there any way to improve the jerkiness.

I'm using the free player from Karafun as a benchmark.

http://www.karafun.com/karaokeplayer/

Thanks again,

ne0ge0

 Hello,

can you make some shots of how do you want to be rendered? Thanks.
Logged
ne0ge0
Posts: 24


« Reply #27 on: 25 Oct '10 - 11:34 »
Reply with quoteQuote

Hi Sharky,

Apologies, I'm probably not being very clear.

It renders fine, now even better with the smoothing, but it's still quite jerky compared to Karafun, expecially when displaying full screen.

ne0ge0
Logged
victor
Posts: 112


« Reply #28 on: 25 Oct '10 - 13:04 »
Reply with quoteQuote

custom draw doesn't work anymore: access violation calling BASS_CDG_GetCurrentBitmap.
Logged
Ionut Cristea
Posts: 1382


« Reply #29 on: 25 Oct '10 - 13:25 »
Reply with quoteQuote

  Please try with this update:

http://surodev.com/downloads/BASS_CDG.dll
Logged
ne0ge0
Posts: 24


« Reply #30 on: 26 Oct '10 - 08:24 »
Reply with quoteQuote

Was this update for victor?
Logged
Ionut Cristea
Posts: 1382


« Reply #31 on: 26 Oct '10 - 08:29 »
Reply with quoteQuote

 
Quote
Was this update for victor?

  Yes
Logged
victor
Posts: 112


« Reply #32 on: 26 Oct '10 - 11:00 »
Reply with quoteQuote

thnx Sharky, it works now.
But the custom draw example is using a lot of CPU.
Would it be posible to make a querry if the bitmap changed from the previous one?
Could you make the anti-aliasing switchable (non custom draw)?
Logged
Ionut Cristea
Posts: 1382


« Reply #33 on: 26 Oct '10 - 11:20 »
Reply with quoteQuote

 
Quote
thnx Sharky, it works now.
But the custom draw example is using a lot of CPU.
Would it be posible to make a querry if the bitmap changed from the previous one?
Could you make the anti-aliasing switchable (non custom draw)?

  The custom draw example is using a lot of CPU because is using GDI for Drawing. You can modify it and use for example the D3D or OpenGL.

Quote
Could you make the anti-aliasing switchable (non custom draw)

Explain a little please.
Logged
victor
Posts: 112


« Reply #34 on: 27 Oct '10 - 10:47 »
Reply with quoteQuote

so that it's a switch like one sets the custom draw on.
maybe i don't like the anti-aliasing and don't want it switched on.
Logged
Ron Schuler
Guest
« Reply #35 on: 2 Nov '10 - 01:25 »
Reply with quoteQuote

The best way to make CDG rendering faster is to optimize the multidimensional array to bitmap routine.
D3D and openGL did not help since the bitmap had to be created before it could be painted on a surface.
As far as the code project source, I ported a c++ library found on google code to .Net and added an Object based interface to allow easy use. I have since optimized it, but have not published it. I have also made .NET classes for "BASS File objects" like .Kar and .Mp3. The BassKar class has a similar interface to the CDG library with Export to MP3 with soundfont, render graphic at position, pitch correction, etc.
If someone uses the code and claims it as their own, it doesn't matter.
Since I write a lot of open source derivative works, it is only fair to give the software away for free.
The author here is giving it away, so that is really what is important.
Take time to thank people for publishing libraries for other developers.
It saved you from the low level research necessary to do the needed tasks.
Logged
ne0ge0
Posts: 24


« Reply #36 on: 2 Nov '10 - 10:07 »
Reply with quoteQuote

Hi Ron,

Thanks for all of the work you have put in so far.

Can you post a demo of your optimised project?

What .Net language did you port to?

Thanks again,

ne0ge0
Logged
OldUser
Guest
« Reply #37 on: 2 Nov '10 - 12:30 »
Reply with quoteQuote

@Ron Schuler
Quote
it is only fair to give the software away for free.
Correct!

i have a  problem with the Donation button.
used source of other people and will have money.
Logged
Ionut Cristea
Posts: 1382


« Reply #38 on: 2 Nov '10 - 15:21 »
Reply with quoteQuote

   
Quote
Correct!

i have a  problem with the Donation button.
used source of other people and will have money.


 Button removed:D
Logged
OldUser
Guest
« Reply #39 on: 2 Nov '10 - 18:38 »
Reply with quoteQuote

Quote
Button removed:D
Thank you..

And now i will say Thanks for all your great work here.
Logged
davidpn
Posts: 6


« Reply #40 on: 18 Nov '10 - 06:12 »
Reply with quoteQuote

I'm using the latest BASS_CDG (2.4.0.1) in conjunction with BASS_FX, and at the end of the track, my application crashes.

I've gone back to using the CDG demo code in case there was something I had introduced that was causing the problem, however it still crashes. From the demo code:

procedure TForm2.Button1Click(Sender: TObject);
begin
  if chan<>0 then
  begin
    BASS_StreamFree(Chan);
    chan:=0;
  end;
  // Note: Added BASS_STREAM_DECODE flag in order to use BASS_FX
  if Opendialog1.Execute(handle) then
    Chan := BASS_StreamCreateFile(False, PChar(OpenDialog1.FileName), 0, 0, BASS_UNICODE or BASS_STREAM_DECODE);
  if (chan=0) then
    Exit;
  Scrollbar1.Max := Round(BASS_ChannelBytes2Seconds(chan, BASS_ChannelGetLength(chan, BASS_POS_BYTE)));
  BASS_CDG_SetVideoWindow(Chan, Panel1.Handle);

  // BASS_FX call to introduce tempo effects:
  Chan := BASS_FX_TempoCreate(Chan, BASS_FX_FREESOURCE);

  BASS_ChannelPlay(Chan, False);
end;

I'm using Delphi 2010.

Thanks in advance
Logged
Astro29
Posts: 180


« Reply #41 on: 18 Jan '11 - 13:00 »
Reply with quoteQuote

Original source and information to the Author here
http://www.codeproject.com/KB/audio-video/karaokedotnet.aspx

written in Vb.NET with Bass and BassFx
Author Ron Schuler

greets

this is a sentence taken directly from that link you posted:

"One thing led to another, and I started porting over some C++ code that I found on Google Code."
Logged
fishbox
Posts: 13


« Reply #42 on: 19 Jan '11 - 16:35 »
Reply with quoteQuote

Very interested in this addon. Has it been implemented in BASS .Net yet?

Here's a pretty please with eyelashes batting request for it.

 Cheesy
Logged
radio42
Posts: 4030


« Reply #43 on: 20 Jan '11 - 07:15 »
Reply with quoteQuote

I haven't looked at it now.
But as it is a plugin you should already today be able to use it via "BASS_PluginLoad" - as then there should be no extra code needed.
Logged
ne0ge0
Posts: 24


« Reply #44 on: 20 Jan '11 - 08:46 »
Reply with quoteQuote

How would you call BASS_CDG_SetVideoWindow() in C# if the Bass.Net dll doesn't know about it?

ne0ge0
Logged
radio42
Posts: 4030


« Reply #45 on: 28 Jan '11 - 17:08 »
Reply with quoteQuote

You can download a pre-version of Bass.Net here, which includes support for BASS_CDG:

www.un4seen.com/filez/4/Bass24.Net_pre.zip
Logged
victor
Posts: 112


« Reply #46 on: 9 Feb '11 - 15:58 »
Reply with quoteQuote

when using your user draw demo, while playing a cdg file, the windows task manager shows the GDI object counter constantly rising. After a while this counter gets to 9999 and the application crashes.
Please advise.

PS. the BASS_CDG has disappeared from your site. Is that meaning no further support for BASS_CDG?
Logged
Ionut Cristea
Posts: 1382


« Reply #47 on: 4 Mar '11 - 09:13 »
Reply with quoteQuote

Quote
when using your user draw demo, while playing a cdg file, the windows task manager shows the GDI object counter constantly rising. After a while this counter gets to 9999 and the application crashes.
Please advise.

PS. the BASS_CDG has disappeared from your site. Is that meaning no further support for BASS_CDG?


Please try with this update:

http://surodev.com/downloads/BASS_CDG.zip

-fixed the GDI bug
-fixed some bugs when handling UNICODE windows
-and some improvements

BASS_CDG it will be supported always, it wasn't removed from my website
http://surodev.com/?p=42

Best regards,
Ionut
Logged
fishbox
Posts: 13


« Reply #48 on: 23 May '11 - 19:24 »
Reply with quoteQuote

Does the latest version of BASS .NET have this in release form yet or still pre-release? If the BASS_CDG gets updated, will it require the BASS .NET to be updated as well?

Thanks and still VERY VERY interested in this plug. Thanks for all the hard work guys!
Logged
Ionut Cristea
Posts: 1382


« Reply #49 on: 24 May '11 - 05:58 »
Reply with quoteQuote

  As far as i know BASS.NET have the latest BASS_CDG. And yes, if i will update the BASS_CDG(change/add new functions), the BASS.NET will have to be updated too.
Logged
fishbox
Posts: 13


« Reply #50 on: 26 May '11 - 17:22 »
Reply with quoteQuote

Thank you, Sharky08.

I will be implementing this in my project soon. I have two questions:

1. On the original karaokedotnet Code Project, some one wrote a message about adding a sync adjustment in case lyrics and music are offset incorrectly

From Code Project:
Quote
hanks for the reply.
 
I figured it out yesterday . . easier than I thought.
 
Real time CDG Timing . . . .
 
On the player form -
place a new label and name it lblTiming
place a new numericupdowncontrol and name it nudTiming

change the following line -
 
mCDGFile.renderAtPosition(pos)
 
to
 
mCDGFile.renderAtPosition(pos - (nudTiming.Value * 100)) 'change 1/10 of a second each value
 
simply subtract the nudTiming value from the current mCDGFile.renderAtPosition(pos) value
 
Now . . on to figuring out real time pitch change without using the Bass dll

Can this be done easily in your implementation of the project? I imagine it would require another .NET exposed setting for "nudTiming" if it were to be used in BASS .NET. It would be very useful!

2. Can you skip to a different part of the karaoke song while it's playing and still have audio lyric sync?

Thank You!
Logged
fishbox
Posts: 13


« Reply #51 on: 1 Jun '11 - 20:32 »
Reply with quoteQuote

Oh yeah, Can I run two windows (one on main app page, one on second screen full size) showing same lyrics of the same song in sync? Using a different plugin, I had lockup and slow scroll issues with that. Thank you!
Logged
Ionut Cristea
Posts: 1382


« Reply #52 on: 2 Jun '11 - 06:27 »
Reply with quoteQuote

  Yes you can, but only on user draw mode. You just get current playback Bitmap and draw that bitmap on how many windows you wish.

Regards,
Ionut
Logged
Ionut Cristea
Posts: 1382


« Reply #53 on: 25 Jun '11 - 21:21 »
Reply with quoteQuote

  A little update to BASS_CDG  Grin

+ Video rendering is done with Directdraw7(better performance)
+ Some A/V sync issues fixed


Check first post for download link.


Best regards,
Ionut
Logged
Thomas Bernhed
Guest
« Reply #54 on: 19 Aug '11 - 20:28 »
Reply with quoteQuote

I downloaded the latest version of BASS_CDG, but I can´t get the "Demo C++.exe" to show the lyrics. The music is playing without problems. The "Demo.exe" both plays the music and shows the lyrics correct.

Do I need to add any other files for the c++ example to work or am I doing something wrong?

Thanks in advance.

//Thomas
Logged
Ionut Cristea
Posts: 1382


« Reply #55 on: 19 Aug '11 - 21:18 »
Reply with quoteQuote

Sorry for inconvenience, the C++ demo wasn't updated with the latest BASS_CDG version. You may check the Delphi version until i update the package.
Logged
Ionut Cristea
Posts: 1382


« Reply #56 on: 12 Nov '11 - 22:06 »
Reply with quoteQuote

  BASS_CDG package updated. Fixed some bugs Cheesy

http://surodev.com/downloads/BASS_CDG.zip
Logged
mkmr
Posts: 3


« Reply #57 on: 21 Sep '12 - 16:37 »
Reply with quoteQuote

Can someone re-upload it, i have been searching for a few hrs (google/here) and every single link is dead. I really want to test this plugin.
Logged
gingermagician7
Posts: 2


« Reply #58 on: 22 Sep '12 - 22:01 »
Reply with quoteQuote

Can someone re-upload it, i have been searching for a few hrs (google/here) and every single link is dead. I really want to test this plugin.

I had a problem with this where the Plugin is holding the CDG file open until you close your application. I contacted the developer and I believe that he is bringing out a new version that will run under DShow/xVideo plugin.

Unfortunately I don't think I can wait now and I have reverted to code that I wrote a while back that handles the graphic tiles within the CDG file. I am in the process of modifying this into a Delphi class - could be a wee while in the conversion but the original code allowed for time delays in the Lyric

Regards,
Ally
Logged
MrBoo
Posts: 3


« Reply #59 on: 19 Oct '12 - 16:09 »
Reply with quoteQuote

Hello,  I'm new here and I am interested in this add-on.  Will it be continued or has it been incorporated into the direct show.  I've downloaded that and I haven't got it to work as of yet.  I'm used to VB.net and the breakpoints don't work in the demo package on form.cs.  I know, two different issues..  Sorry..  and Thanks!!
Logged
Ionut Cristea
Posts: 1382


« Reply #60 on: 19 Oct '12 - 16:48 »
Reply with quoteQuote

  Hi,


This addon has been incorporated in BASS_DSHOW, and will not be continued as BASS_CDG
Logged
MrBoo
Posts: 3


« Reply #61 on: 19 Oct '12 - 17:41 »
Reply with quoteQuote

Thank you very much.  The downloads\xVideo.NET.zip demo works (BASS_DSHOW.zip did not) and gives me a good idea of what it is capable of. 
Logged
Pages: 1 2 3 4 [All]
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.18 | SMF © 2013, Simple Machines