[Clam-devel] PATCH: new File class heirarchy

Pau Arumi parumi at iua.upf.edu
Wed Apr 11 02:59:55 PDT 2007


En/na Zach Welch ha escrit:
> On Tuesday 10 April 2007 16:05, Xavier Amatriain wrote:
>> No, no. I wasn't saying that needs to be solved "before" the patch, I
>> just pointed to the underlying and longer term discussion. Actually, my
>> previous email (talking about the three issues) was precisely in that
>> direction: my vote is for accepting the patch as is and discuss on the
>> other issues in parallel.
> 
> I hope Pau feels the same way at this point.  
> I have been listening to all of the strategic discussion aimed my way, even if 
> I have not yet responded to it.  So far, all of the requests have a degree of 
> sense to them, and I feel more can be gained by accomodating all of your 
> subtle (and not-so-subtle) requests with working code.

well my primary (and not-so-subtle) request have always been
"tests" and i haven't seen them in the patches. the proposed
concrete tests are quite "functional" not "unit" but would 1.
show that it works and 2. show the network api for sub-networks.

again, the test template:

CLAM::Network net;
CLAM::FreewheelingNetworkPlayer * player =  new 
CLAM::FreewheelingNetworkPlayer;
net.SetPlayer( player ); // network owns the player memory
net.AddProcessing( ... );
...
...
player->InputFile(inputFile);
player->OutputFile(baseOutputFile+"_result.wav");
net.Start();
net.Stop();
std::string  whyDifferents;
bool equals=helperCompareTwoAudioFiles(
          baseOutputFile+".wav", baseOutputFile+"_result.wav",
          whyDifferents);
CPPUNIT_ASSERT_MESSAGE(whyDifferents, equals);


my other request is discussing the design: what benefits do you 
see on keeping networkfiles inside processing configs instead of 
letting the network directly manage it's sub-networks (which you 
know it's my preferred way)?

i think you missed some sources on you patch. for
example i get compiler error because missing EmbeddedNetworkFile
(included from NE MainWindow.hxx) can you resend the whole patch
against svn head? it will be useful also to keep design
discussion on concrete grounds.

finally, just stress that tests are very important in clam.
specially for the core elements of the data-flow. we've learn
many lessons about the importance of automatic tests over the 6
years of clam.

pau








More information about the clam-devel mailing list