[Clam-devel] today's (many!) commits
    Pau Arumi 
    parumi at iua.upf.edu
       
    Fri Mar  2 13:13:31 PST 2007
    
    
  
important:  clean your compiled objects "scons -c" because we have
moved classes between clam libs (AudioSource/Sink from processing
to core)
summary of what we have done today. it's been a productive session :-)
many improvements on PANetworkPlayer (portaudio). now it's solid!
refactored the NetworkPlayer class hierarchy so now subclasses share
audio-sources/sinks and methods to collect them from a network.
now writing new network back-ends is easier.
and a non planed thing: a new network player "freeweeling" useful to
process files in batch mode (no audio-device callback). it's interface is
really simple: you set the files and start rolling the whole thing in 
just 3
method calls. we've also started (not finished) to new binary to use 
like this:
$ process net.clamnetwork in.wav out.wav
this will ease a lot our functional tests. but will have many other
applications as well.
today's commits:
 * Added FreewheelingNetworkPlayer class (allows processing an input
   file into an output file given a network)
 
 * extracted NetworkPlayer implemntation to a new .cxx file
 * FunctionalTests/TestStreamingSMSAnalysisSynthesis: simplified a
   lot now using freewheeling networkplayer. actually, fixing this
   test (broken till last flow-control redesign) was the initial motivation
   for having such NP
 * build system: moved audiosource/sink from libclam_processing to
   libclam_core. developers clean your local sources: "scons -c"
 * INSTALL: documented portaudio as dependency
 * refactoring of NetworkPlayer classes: sources and sinks moved
   to the base. CollectSourcesAndSinks() as well
 * marked PushFlowControl as deprecated
 * MonoAudioFileReader: added interface to get its AudioOutPort because
   needs of freewheeling-n-p but (it's likely this will be reverted)
 * PANetworkPlayer
   * Always Initialize and Terminate on Start/Stop
   * Fix: Device dump: the default api was wrongly marked
   * Fix: The stream was never closed
 * PANetworkPlayer:
   * Start and Stop delegations inlined
   * Free resources on stop
   * Error conditions on start keeps the Player stopped, do a trace,
     and set an internal error status.
   * Explicit check for available channels
 * Portaudio active by default on all platforms
 * PANetworkPlayer: First iteration of the error management refactoring
 
* naming refactorings in PANetworkPlayer : changed sources/sinks typedef
   and various attributes
* NE/vst/CLAMVstPlugin.cpp : use new source/sink interface 
"SetExternalBuffer", and new Network.Do() semantic
 * PANetworkPlayer: Most methods privatized alla PP (just to friends)
 * PANetworkPlayer: The callback is an static member
 * XXXNetworkPlayer: Added interface to know whether is working and why not
 * JACKNetworkPlayer: IsConnectedToServer generalized as IsWorking
 * NetworkEditor/Prototyper: Moved to the IsWorking prototyper
 * Prototyper: Removed unused function getMonitorNumber
 * Removed the call to AddFlowControl (a default one is chosen on 
Network constructor)
    
    
More information about the clam-devel
mailing list