[CLAM] Doing new things with CLAM

Pau Arumi parumi at iua.upf.es
Mon Sep 12 04:30:14 PDT 2005

Hi Vegard,
Incredible, no one thought you could manage to out of this abyss alive :-)

So, I guess that this wierd complains from .NET were due to using
managed C++ instead of "compiled" C++, we never tried clam on managed C++

About having a more flexible way (target to DLL, etc.) to create projects:
Changing srcdeps to adapt it to MS visual projects in a flexible way was 
too time consuming. Instead we have another solution on the way.
Miguel is working hard to totally change the clam build system and
base it to the normal library binaries approach, using scons.
We have the Linux version already working, and producing debian packages,
in our CVS.

And currently Miguel is down to the MS deepness producing the first clam 
DLLs using scons. This way, writing Visual projects using clam will be 
very simple. 
Much more simpler than the current way using srcdeps. Of course we'll 
basic examples (or project patterns). 
It will also ease a great deal stuff like: reducing dependencies by 
linking only with
parts of clam (clam will be splited in several libs), producing clam 
apps installers, etc.

We'll try to have the new release ready in 2 or 3 weeks.


Vegard Sandvold wrote:

>Hi all,
>after I spoke to Pau at the ICMC banquet the other day, I thought I could
>share some of my latest CLAM experiences with the community.
>I have ventured where no-one has ever gone before (I think), deep down
>into the abyss of Microsoft. Basically, I have written a Windows Service
>for doing real-time music analysis, using the .NET framework. Running the
>analysis program as a service was a requirement from my "contractor", and
>not something I did for fun. Because it wasn't...
>The main problems arose from a MS invention called Managed C++, which is
>an integral part of their .NET class library. The service class had to be
>written in managed c++, while the music analysis is of course written
>using clam. If I tried adding clam objects as class members to my service
>class, the compiler complained about some problems with default
>constructors in various clam classes. The same applies to std::string
>objects aswell. I use .NET version 7.1.
>I got by by declaring all clam stuff as local variables in the main "do"
>method. Also, every time I run srcdeps, I have to edit the project
>configuration to set ut the service specific options. This is just a
>convenience request, but would it be possible to extend the setting.cfg
>file to make it possible to set other, and possible arbitrary
>configuration directives?
>If this is to time consuming to be worth doing, could we at least make it
>possible to specify a DLL compilation rather than an executable
>compilation? I have also written a Winamp dsp plug-in with clam, and
>everytime, after having run srcdeps, I have to go in and change the
>configuration to produce a dll.
>Well, having said all that, both my service and the plug-in are working
>great:-) The service is currently streaming, decoding and analysing NINE
>Internet radio channels in real-time on a dual Xeon processor machine.
>CLAM mailing list
>CLAM at iua.upf.es

More information about the clam-users mailing list