[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