|
Ionut Cristea
Posts: 1382
|
 |
« on: 27 Sep '10 - 20:17 » |
Quote
|
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 Latest(29 September 2010) - added option to get current bitmap - added support for user drawing(see the demo). 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.zipx64: 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 » |
Quote
|
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 » |
Quote
|
BASS_CDG as BASS plugin is ready  -UNICODE support -BASS_FX support -easy CDG play  EXAMPLE: 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 » |
Quote
|
A little update  -Fixed bug when changing the video window display.
|
|
|
|
Logged
|
|
|
|
|
|
|
|
|
Norbert Stellberg
Posts: 70
|
 |
« Reply #6 on: 29 Sep '10 - 17:55 » |
Quote
|
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 » |
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
|
|
|
|
|
Logged
|
|
|
|
|
radio42
Posts: 4030
|
 |
« Reply #8 on: 29 Sep '10 - 20:04 » |
Quote
|
I'll add that to Bass.Net very soon!
|
|
|
|
|
Logged
|
|
|
|
|
Ionut Cristea
Posts: 1382
|
 |
« Reply #9 on: 30 Sep '10 - 08:14 » |
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  I'll add that to Bass.Net very soon! Thanks.
|
|
|
|
|
Logged
|
|
|
|
|
Ionut Cristea
Posts: 1382
|
 |
« Reply #10 on: 1 Oct '10 - 06:45 » |
Quote
|
Fixed bug when BASS_CDG can't find a mp3,wav,flac or wma song to render.
|
|
|
|
Logged
|
|
|
|
|
|
|
|
|
Ionut Cristea
Posts: 1382
|
 |
« Reply #13 on: 2 Oct '10 - 14:47 » |
Quote
|
I don't tink so  If you looked carefull you'll see that BASS_CDG is full C++ and the Ron Schuler source is .NET. Cheers, Ionut Cristea.
|
|
|
|
|
Logged
|
|
|
|
|
|
|
Ionut Cristea
Posts: 1382
|
 |
« Reply #15 on: 2 Oct '10 - 15:03 » |
Quote
|
i can translate it in 20 Min t C++ Good for you... 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.0Thank 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 » |
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
|
|
|
|
|
Logged
|
|
|
|
|
Ionut Cristea
Posts: 1382
|
 |
« Reply #17 on: 2 Oct '10 - 15:10 » |
Quote
|
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? 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 » |
Quote
|
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 » |
Quote
|
OK...i want to thanks because you are are not a match with me:  •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 » |
Quote
|
Download Links updated. Please check first post to download.
Thanks.
|
|
|
|
|
Logged
|
|
|
|
|
ne0ge0
Posts: 24
|
 |
« Reply #21 on: 20 Oct '10 - 08:46 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
Whichever would be easier for you, and for me to implement in C#.
|
|
|
|
|
Logged
|
|
|
|
|
|
|
ne0ge0
Posts: 24
|
 |
« Reply #25 on: 24 Oct '10 - 10:19 » |
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
|
|
|
|
|
Logged
|
|
|
|
|
Ionut Cristea
Posts: 1382
|
 |
« Reply #26 on: 24 Oct '10 - 10:23 » |
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 » |
Quote
|
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 » |
Quote
|
custom draw doesn't work anymore: access violation calling BASS_CDG_GetCurrentBitmap.
|
|
|
|
|
Logged
|
|
|
|
|
|
|
ne0ge0
Posts: 24
|
 |
« Reply #30 on: 26 Oct '10 - 08:24 » |
Quote
|
Was this update for victor?
|
|
|
|
|
Logged
|
|
|
|
|
Ionut Cristea
Posts: 1382
|
 |
« Reply #31 on: 26 Oct '10 - 08:29 » |
Quote
|
Was this update for victor? Yes
|
|
|
|
|
Logged
|
|
|
|
|
victor
Posts: 112
|
 |
« Reply #32 on: 26 Oct '10 - 11:00 » |
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)?
|
|
|
|
|
Logged
|
|
|
|
|
Ionut Cristea
Posts: 1382
|
 |
« Reply #33 on: 26 Oct '10 - 11:20 » |
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. 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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
@ Ron Schulerit 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 » |
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 » |
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
Very interested in this addon. Has it been implemented in BASS .Net yet? Here's a pretty please with eyelashes batting request for it. 
|
|
|
|
|
Logged
|
|
|
|
|
radio42
Posts: 4030
|
 |
« Reply #43 on: 20 Jan '11 - 07:15 » |
Quote
|
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 » |
Quote
|
How would you call BASS_CDG_SetVideoWindow() in C# if the Bass.Net dll doesn't know about it?
ne0ge0
|
|
|
|
|
Logged
|
|
|
|
|
|
|
victor
Posts: 112
|
 |
« Reply #46 on: 9 Feb '11 - 15:58 » |
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?
|
|
|
|
|
Logged
|
|
|
|
|
Ionut Cristea
Posts: 1382
|
 |
« Reply #47 on: 4 Mar '11 - 09:13 » |
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=42Best regards, Ionut
|
|
|
|
|
Logged
|
|
|
|
|
fishbox
Posts: 13
|
 |
« Reply #48 on: 23 May '11 - 19:24 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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: 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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
A little update to BASS_CDG  + 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 » |
Quote
|
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 » |
Quote
|
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
|
|
|
|
|
|
|
mkmr
Posts: 3
|
 |
« Reply #57 on: 21 Sep '12 - 16:37 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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
|
|
|
|
|