Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Hardware & Software > Software players
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 21st February 2012, 00:25   #1  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
DC-Bass Source Mod (a fork for DCoder's Bass Source Filter)

I'd like to introduce DC-Bass Source Mod.

As the assembler of DirectShow FilterPack I've been using the DC-Bass Source Filter for a long time now. My latest version contains DC-Bass Source 1.3.0.0, but also a separate DirectShow filter for Audio CDs (MPC-HC Team - CDDA Source Filter) and one for the lossless audio codec TAK (Livio Cavallo - TAK Source Filter), while the BASS audio library already has an Audio CD add-on and recently I even found a working TAK add-on. So this had to change.
Although it's been a long time since I've last done some coding, I've downloaded DC-Bass Source's source files and after a lot of trial and error I managed to add support for the Audio CD- and TAK add-on.

I'm here on a Windows XP SP3 install and after a lot of testing I can say, it works beautifully here. Afaik DC-Bass Source 1.3.0.0 already worked fine on Windows 7, but since I don't have Windows 7 (yet), I was wondering if anyone here can test its functionality. I've changed register.bat and unregister.bat so DC-Bass Source Mod should work on Windows 7 (I think).
Since DC-Bass Source Filter 1.3.0.0 is already 1½ years old, I think DCoder considered it stable enough, and since I only added some extra features, I believe and I hope there won't be any serious issues with DC-Bass Source Mod 1.4.0.0. At least I haven't encountered anything yet, but let me know nonetheless.

For my DirectShow FilterPack it means it will get a label "discontinued", because it obviously isn't worth to continue assembling a package with only 2 DirectShow filters left; DC-Bass Source Mod and LAV Filters (I don't think anyone would miss the MPC-HC Team - CDXA Source Filter nowadays). Especially when the LAV Splitter has become so complicated that the LAV Filters's author recommends to use the installer instead of simply registering the ax-files.

About LAV Filters...If you'd like to use DC-Bass Source Mod merely as a supplement to LAV Filters, I would recommend downloading the 7z-file, because it contains the file Registration_light.ini. Rename Registration.ini to Registration.ini.bak (or something similar) and rename Registration_light.ini to Registration.ini. If you then run register.bat, only those audio formats that LAV Filters doesn't support will be registered and LAV Filters remains fully functional.
As I'm a total newbie with the Nullsoft Scriptable Install System, enabling only certain formats isn't possible at the moment. The installer enables all supported formats.


Update [28-02-2012]:
- I concluded the tests on Win7, and DC-Bass Source Mod seems to work just fine. Bat-files updated accordingly.
- Some minor cosmetic changes made to DC-Bass Source Mod.

Download:
DC-Bass Source Mod 1.5.2.0 (Archive, 806KB)
DC-Bass Source Mod 1.5.2.0 (Installer, 929KB)
DC-Bass Source Mod 1.5.2.0 (Source files, 605KB)

Readme:
Code:
================================================================
    DC-Bass Source Mod - BASS based DirectShow Audio Decoder

    Version 1.5.2.0

    (C) 2003-2010 Milenko Mitrovic
    mail     : dcoder@dsp-worx.de
    web      : http://www.dsp-worx.de
    update by: Reino Wijnsma
    web      : http://reino.degeelebosch.nl
================================================================

[DESCRIPTION]
 DC-Bass Source Mod is a fork, a continuation of DCoder's Bass Source Filter.
 The DC-Bass Source Filter is a DirectShow filter wrapped around the powerful and highly efficient BASS audio library.
 I started this fork because development around DC-Bass Source Filter has been quiet since 13-09-2010. DC-Bass
 Source Mod is thus a modified and updated version of DC-Bass Source. It has some new features and minor fixes. 

 It currently supports the following audio formats:

 [Sample audio]                                                  [Tracker audio]
  - MPEG-1 Layer 2 & 3                  (.mp2, .mp3)              - Impulse Tracker Module                 (.it)
  - Other MPEG audio                    (.mpa, .m1a, .m2a)        - Tracker Module with MP3 or OGG samples (.mo3)
  - Vorbis                              (.ogg, .oga)              - Tracker Module                         (.mod)
  - Opus                                (.opus)                   - Multi Tracker Module                   (.mtm)
  - Advanced Audio Coding               (.aac, .m4a, .m4b)        - Scream Tracker 3 Module                (.s3m)
  - MusePack                            (.mpc)                    - Unreal Tournament music package        (.umx)
                                                                  - Fast Tracker 2 Extended Module         (.xm)
  - Waveform Audio File Format          (.wav)
  - Audio Interchange File Format       (.aif, .aifc, .aiff)  
  - Compact Disc Audio track            (.cda)                   [SHOUTcast/Icecast (live audio streams)]
                                                                  - MP3
  - Apple Lossless Audio Codec          (.alac, .m4a)             - OGG
  - Monkey's Audio                      (.ape)                    - AAC
  - Free Lossless Audio Codec           (.flac)                   - OPUS
  - OptimFROG                           (.ofr, .ofs)           
  - Tom's verlustfreier Audiokompressor (.tak)                 
  - True Audio                          (.tta)                 
  - WavPack                             (.wv)

 SHOUTcast/Icecast Streams can be saved from within the PropertyPage or by using the IDCBassSource Interface.
 SHOUTcast/Icecast Tags can be read using the IAMMediaContant or IDCBassSource Interface.


[INSTALL/UNINSTALL]
 With the installer "DCBassSourceMod_1.5.2.0.exe" DC-Bass Source Mod will install automatically.
 To uninstall go to "Add or Remove Programs" on the Control Panel, or run "Uninstall.exe" in the installation directory.
 Enabling only certain formats isn't possible at the moment. The installer enables all supported formats.

 With the archive "(DCBassSourceMod_1.5.2.0.7z)" you have to manually install or uninstall DC-Bass Source Mod.
 Extract the content and double-click Register.bat to install DC-Bass Source Mod or Unregister.bat to uninstall.
 On Windows 7 make sure you have admin rights, or right-mouse-click the bat-file and "Run as administrator"!

 All supported audio formats are enabled by default (except for WAVE and AIFF), but with Formats.ini you can
 change that if you want. Open the ini-file in Notepad and simply change the 1 to a 0 for an audio format you'd
 like to disable. Whenever you want to change Formats.ini, make sure you do so before running Register.bat!

 If you'd like to use DC-Bass Source Mod in addition to LAV Filters, you can use Formats_LAV.ini.
 Backup Formats.ini and rename Formats_LAV.ini to Formats.ini. If you then run Register.bat, only those
 audio formats that LAV Filters doesn't support will be activated and LAV Filters remains fully functional.


[EXTRA INFO]
 - Media Player Classic - Home Cinema (MPC-HC) has poor SHOUTcast/Icecast support at the moment,
   so for listening to online radionstations I would recommend using another media player.
   However, there is a way to force it to use DC-Bass Source Mod if you really want to use MPC-HC:
   Go to "Start", "Run..." and enter "regedit". Go to "HKEY_CLASSES_ROOT\http", double-click "Source Filter"
   and replace "{E436EBB6-524F-11CE-9F53-0020AF0BA770}" with "{ABE7B1D9-4B3E-4ACD-A0D1-92611D3A4492}".
   Be sure to undo whenever you're planning on streaming from a network/internet source!
 - DC-Bass Source Mod doesn't support audio in the video containers AVI, MPG, VOB, TS, and MKV.
 - DC-Bass Source Mod topic on Doom9's Forum: http://forum.doom9.org/showthread.php?t=164200.


[LICENSE]
 This software is released together with the Source Code under the 
 GNU GENERAL PUBLIC LICENSE VERSION 2

 For more Information about this License read the attached 
 "License.txt" File or enter the following Link into your Web Browser:

 http://www.gnu.org/copyleft/gpl.html


[LINKS]
 BASS audio library
  http://www.un4seen.com/

 Extended Tag support for Windows Media Player
  http://wmptagext.sourceforge.net/


[CHANGELOG]
 v1.5.2.0 (24022013)
  -fixed: BASS (add-ons) updated to version 2.4.10.0
  -fixed: now only original filename BASS add-ons accepted
  -fixed: extension list updated and extended
  -added: support for Waveform Audio File Format (.wav)
  -added: support for Audio Interchange File Format (.aif, .aifc, .aiff)
  -fixed: double registry folder
  -added: uninstall now also removes registry settings

 v1.5.1.0 (23082012)
  -fixed: BASS add-ons updated, specifically BASSOPUS:
   BASSOPUS 2.4.0.1 fixes a channel order issue

 v1.5.0.0 (27072012)
  -fixed: BASS (add-ons) updated to version 2.4.9.0
  -added: support for the brand-new IETF Opus audio codec (.opus)

 v1.4.0.0 (20022012)
  -fixed: BASS (add-ons) updated to version 2.4.8.1
  -added: support for MPEG-1 Layer 2 (.mp2)
  -added: support for Compact Disc Audio track (.cda)
  -added: support for Tom's verlustfreier Audiokompressor (.tak)
  -fixed: cursor on About-tab on Properties page
 ---------------------------------------------------------

 v1.3.0
  -fixed: updated to BASS and plugins version 2.4.6
  -added: support for OptimFROG
  -added: support for OGG Vorbis
  -fixed: plugins can be loaded from unicode directories
  -added: support for unicode URL's

 v1.2.1
  -fixed: updated to BASS and plugins version 2.4.2

 v1.2.0
  -fixed: updated to BASS and plugins version 2.4.1
  -fixed: Unicode filenames were not working

 v1.1.1
  -fixed: debug log files will not be created anymore

 v1.1.0
  -added: tag detection for ICY/HTTP headers
  -fixed: wrong Memoryallocation for Metadata
  -added: option for Shoutcast buffersize
  -added: tag based stream writing
  -added: only extension with available plugins will be registered
  -added: support for ICYX:// protocol
  -fixed: no connect to waveout renderer with 8 channel flac
  -added: ini file to choose what extensions to register

 v1.0.0
  -initial Release
__________________
My hobby website

Last edited by Reino; 24th February 2013 at 22:11.
Reino is offline   Reply With Quote
Old 22nd February 2012, 05:12   #2  |  Link
boyumeow
Registered User
 
boyumeow's Avatar
 
Join Date: Aug 2007
Posts: 143
Just a thank you from me, although I'm using it to play tracker audio only.
BTW, for W7 installing, I just use the same way as what LAV is doing:

cd /d "%~dp0"
regsvr32.exe DCBassSourceMod.ax

Hmmm, wonder nev will be asking copy right from me .
boyumeow is offline   Reply With Quote
Old 22nd February 2012, 12:58   #3  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
on WinXP register.bat with only regsvr32.exe DCBassSourceMod.ax works fine; specifying the "C:\Windows\System32" for regsvr32.exe isn't necessary and neither the directory for DCBassSourceMod.ax.

For Win7 (32 as well as 64bit) I have 2 questions then:
- Is the location of regsvr32.exe automatically recognized as well, or is it really necessary to specify the location like I do now? %SystemRoot%\system32\ and %SystemRoot%\sysWOW64\
- When the ax-file is in the same directory as the bat-file, is cd /d "%~dp0" really necessary?

Officially it's still a test-version, but I assume your tracker files play fine on Win7?
More people willing to test are more than welcome, especially on Win7!
__________________
My hobby website
Reino is offline   Reply With Quote
Old 25th February 2012, 05:23   #4  |  Link
boyumeow
Registered User
 
boyumeow's Avatar
 
Join Date: Aug 2007
Posts: 143
I think DCBassSource is x86 application, can't be sure, don't work with mpc-hc_x64 in my 64Win7, while it works with mpc-hc_x86 (maybe I never get it register).
While the ax-file is not in system directory, that's y it need the cd /d "%~dp0" (That's what I understand from trying out before).
Thanks.
boyumeow is offline   Reply With Quote
Old 25th February 2012, 11:45   #5  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
This tuesday I have the ability to test the hell out of Windows7 myself, so we'll see. Thanks for your effort.
__________________
My hobby website
Reino is offline   Reply With Quote
Old 26th February 2012, 16:41   #6  |  Link
Blight
Software Developer
 
Blight's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 1,005
Hi CoRoNe:
There's one major bug in DC-Bass, when creating multiple instances in the same graph with other decoders, it causes the graph to freeze.

The only real case where this is a problem is when trying to play a media file with external audio tracks. Even if ffdshow is used to decode the internal audio track and DC-Bass is used to decode an external MP3 within the same graph, the graph will freeze.
If you can fix this bug (probably a race condition), many of the aud-dub scene would be happy.

I raised this issue with DCoder a while back, and this is what he replied:
Quote:
i'm trying to support these projects as much as possible. It's just that i am not really interested in Delphi development anymore. I don't even have Delphi installed.

What you have described sounds like a dead lock to me. Do you have any callstack when this happens? In Visual Studio when your program hangs, you can pause it, go through all threads and see the callstack of each thread. I don't really remember if this is possible in Delphi. You should see something like CritSec.lock() or EnterCriticalSection as last call.

I have fixed this problem with other (C++) filter a few times. Usually it hangs in BeginFlush/EndFlush and Transform/Deliver thread (where you send the IMediaSample to the next filter). It's also possible that time stamps might cause this. This happens if the time stamp is way behind the clock. The renderer might block until the time stamp reaches the clock.

Anyway, the best way to fix this is to figure out where and why it blocks. Try to get callstacks from both threads that are locking the critical section then we will see how we can fix this.

If that doesn't work just try to disable all critical sections in the switcher filter and the bass source. This might crash both filters in other situations but if it fixes the seeking issue, you can add back the critical sections until you get the locking problem again.
Sadly, I don't have the time to tackle this myself
__________________
Yaron Gur
Zoom Player . Lead Developer
Blight is offline   Reply With Quote
Old 26th February 2012, 17:46   #7  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
You mean, it causes the graph to freeze in Zoom Player, I assume?
In Zoom Player I can indeed reproduce the issue, but everything is fine with MPC-HC or GraphStudioNext. So are you sure this is a bug with DC-Bass Source?
Of course people in the aud-dub scene can alternatively use LAV Filters, because it can also perfectly handle mp3, ogg or aac.
But anyway, if you're confident about it being a DC-Bass Source issue, I can of course have a look, but as I've mentioned in the first post, it's been a long time since I've done some coding, and even that was rather primitive. This is the first time I've messed with an existing software piece and quite some code in DC-Bass Source is still beyond me!

This week, after the Windows7 tests, I'll release the mod officially, including the source files (Delphi) so if I can't fix it, or if I don't think it's important enough , you can always have a look yourself.
Still remarkable it's only ZP...no problem with MPC-HC or GraphStudioNext.
__________________
My hobby website
Reino is offline   Reply With Quote
Old 28th February 2012, 23:22   #8  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
Quote:
Originally Posted by CoRoNe View Post
For Win7 (32 as well as 64bit) I have 2 questions then:
- Is the location of regsvr32.exe automatically recognized as well, or is it really necessary to specify the location like I do now? %SystemRoot%\system32\ and %SystemRoot%\sysWOW64\
- When the ax-file is in the same directory as the bat-file, is cd /d "%~dp0" really necessary?
- Today I came to realize that on Windows 7 System32 is for 64-bit aps and SysWow64 for 32-bit aps. o_0. Anyway, for DC-Bass Source Mod as well the content of my DSFP it's not necessary to specify regsvr32.exe's location, except for the TAK Source Filter, which HAS to be registered with regsvr32.exe from the SysWow64-dir.
- Seems on Windows 7 it's imperative to use cd /d "%~dp0", because it checks the System32-dir otherwise, so you were right, boyumeow.

Today I officially released DC-Bass Source Mod. See my signature for more information.
__________________
My hobby website
Reino is offline   Reply With Quote
Old 11th March 2012, 15:07   #9  |  Link
Blight
Software Developer
 
Blight's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 1,005
CoRoNe:
I believe I was able to reproduce the freeze issue in GraphEdit, but it's been a while since I tested.
__________________
Yaron Gur
Zoom Player . Lead Developer
Blight is offline   Reply With Quote
Old 12th March 2012, 12:44   #10  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693


No problem here. MKV-file has a H.264 video- and Vorbis audio-stream.
__________________
My hobby website
Reino is offline   Reply With Quote
Old 27th July 2012, 21:05   #11  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
DC-Bass Source Mod 1.5.0.0
Code:
-up-to-date BASS and BASS add-ons (BASS version 2.4.9.0)
-support for the brand-new IETF Opus audio codec (.opus)
DC-Bass Source Mod 1.5.0.0 (Archive, 808KB)
DC-Bass Source Mod 1.5.0.0 (Installer, 933KB)
DC-Bass Source Mod 1.5.0.0 (Source files, 610KB)
__________________
My hobby website
Reino is offline   Reply With Quote
Old 18th August 2012, 07:17   #12  |  Link
roytam1
Firefox User
 
Join Date: Sep 2003
Posts: 202
Quote:
Originally Posted by CoRoNe View Post
DC-Bass Source Mod 1.5.0.0
Code:
-up-to-date BASS and BASS add-ons (BASS version 2.4.9.0)
-support for the brand-new IETF Opus audio codec (.opus)
DC-Bass Source Mod 1.5.0.0 (Archive, 808KB)
DC-Bass Source Mod 1.5.0.0 (Installer, 933KB)
DC-Bass Source Mod 1.5.0.0 (Source files, 610KB)
Thanks.
But I wonder if bass_opus.dll source can be found somewhere.
roytam1 is offline   Reply With Quote
Old 18th August 2012, 15:38   #13  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
bass_opus (source included). Although it's a beta release, that one I included in DC-Bass Source Mod 1.5.0.0, but FYI, yesterday bass_opus 2.4.0.0 has officially been released.
__________________
My hobby website
Reino is offline   Reply With Quote
Old 23rd August 2012, 20:52   #14  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
DC-Bass Source Mod 1.5.1.0
Code:
-up-to-date BASS add-ons, specifically BASSOPUS:
 BASSOPUS 2.4.0.1 fixes a channel order issue
DC-Bass Source Mod 1.5.1.0 (Archive, 808KB)
DC-Bass Source Mod 1.5.1.0 (Installer, 931KB)
DC-Bass Source Mod 1.5.1.0 (Source files, 608KB)
__________________
My hobby website

Last edited by Reino; 23rd August 2012 at 21:02.
Reino is offline   Reply With Quote
Old 19th September 2012, 13:33   #15  |  Link
Blight
Software Developer
 
Blight's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 1,005
Can you please confirm that 'DC-Bass Source Mod' is 100% API backward compatible with the original?

I'm especially concerned with the API as it relates to SHOUTcast streaming (getting the playing title, etc...).
__________________
Yaron Gur
Zoom Player . Lead Developer
Blight is offline   Reply With Quote
Old 19th September 2012, 20:45   #16  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
Yes. Only added features and small fixes, none of which altered anything essential.
__________________
My hobby website
Reino is offline   Reply With Quote
Old 19th September 2012, 22:15   #17  |  Link
Blight
Software Developer
 
Blight's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 1,005
I believe there's a bug in the shoutcast track parsing exposed through the IAMMediaContent interface.
I don't think this bug is new, it exists in v1.3 as well.

The IAMMediaContent interface only seems to return the title and the title it returns isn't the title of the currently playing track, but rather the name of the station.

Do you think this is something you can improve on?
__________________
Yaron Gur
Zoom Player . Lead Developer
Blight is offline   Reply With Quote
Old 20th September 2012, 20:31   #18  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
I see what you mean, but I'm gonna be honest with you... No, I can't. I'm not a programmer. I just don't have the know-how to fix these issues.
I had never coded/compiled any piece of software before, so the initial release of the mod was actually a personal challenge, especially because I wouldn't be getting much help from DCoder (DC-Bass Source Filter's author), who has moved on apparently and is hard to reach for any questions. In the end though, adding support for a couple of new bass plugins (tak and opus in particular) proved to be something even I was capable of.
I knew these questions (up until now especially from you ), for which I wouldn't be of much help, would come. On the other hand, the moment I added TAK- and CD-support, I didn't want to deny others a simple DC-Bass Source Filter update either, especially because it meant 2 separate DirectShow filters less.
These issues now require specific knowledge. I don't know a lot of people with much programming experience, but I'll keep an eye open! If and then we could perhaps bring it to a next level (or build a new filter in C++ instead), because although the BASS Audio Library could bring a lot more to a DirectShow filter if you ask me, at the moment there are functions (add by DCoder long ago) that make no sense imo.
Anyway, in short: As much I want to, I can't be of any help. Sorry.
__________________
My hobby website
Reino is offline   Reply With Quote
Old 21st September 2012, 11:41   #19  |  Link
Blight
Software Developer
 
Blight's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 1,005
If DC-Bass is written in Delphi,
How about helping me pinpoint the code where IAMMediaContent is implemented in the filter and back-tracing the code to where the data is parsed.
I may be able to take over from there myself if it's only a small fix, but I lack the time required to scour the code.
__________________
Yaron Gur
Zoom Player . Lead Developer
Blight is offline   Reply With Quote
Old 24th February 2013, 22:11   #20  |  Link
Reino
Registered User
 
Reino's Avatar
 
Join Date: Nov 2005
Posts: 693
DC-Bass Source Mod 1.5.2.0
Code:
-fixed: BASS (add-ons) updated to version 2.4.10.0
-fixed: now only original filename BASS add-ons accepted
-fixed: extension list updated and extended
-added: support for Waveform Audio File Format (.wav)
-added: support for Audio Interchange File Format (.aif, .aifc, .aiff)
-fixed: double registry folder
-added: uninstall now also removes registry settings
DC-Bass Source Mod 1.5.2.0 (Archive, 806KB)
DC-Bass Source Mod 1.5.2.0 (Installer, 929KB)
DC-Bass Source Mod 1.5.2.0 (Source files, 605KB)

At the moment I'm talking to a guy who might be up for the job. Says he worked with BASS before, so perhaps he could help me maintain DC-Bass Source Mod. I've already got a to-do list .
__________________
My hobby website
Reino is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 00:49.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.