Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Examples  

JezabelDriver Class Reference

A JezabelDriver runs a tool in real time, connecting its input and output streams to some device (e.g., a sound card). More...

#include <jezabeldriver.h>

Inheritance diagram for JezabelDriver::

JezabelALSADriver JezabelDriverSwitch JezabelJackDriver JezabelOSSDriver List of all members.

Public Methods

virtual void setTool (JezabelTool *tool)
void setWidget (JezabelWidget *widget)
virtual void start (JezabelPosition max=JezabelLengthMax)
virtual JezabelPosition where ()
virtual void stop ()
virtual const char* strerror ()

Detailed Description

A JezabelDriver runs a tool in real time, connecting its input and output streams to some device (e.g., a sound card).

Generally speaking, a JezabelDriver is used in the following way:

1) The user associates a JezabelTool instance with he driver using the setTool() method, like this:

    driver->setTool(tool);

2) The user calls the start() method to begin running the driver asynchronously (i.e., in another thread). The asynchronous thread will attempt to get real-time scheduling priority if the tool requires it (though appropriate priviledges are required for this). The driver will activate the tool, and begin calling its run() method.

3) The user can query the driver's progress with the where() method.

4) The user calls the stop() method to stop asynchronous operation. This causes the tool to be deactivated.


Member Function Documentation

void JezabelDriver::setTool ( JezabelTool * tool ) [virtual]
 

Set the tool associated with this driver. This may be called more than once, and may be called the driver is running.

Reimplemented in JezabelALSADriver, JezabelDriverSwitch, JezabelJackDriver, and JezabelOSSDriver.

void JezabelDriver::setWidget ( JezabelWidget * widget )
 

Same as setTool() above, but gets a tool from a given JezabelWidget.

void JezabelDriver::start ( JezabelPosition max = JezabelLengthMax ) [virtual]
 

Begin processing samples asynchronously, up to "max" samples or end-of-stream.

Reimplemented in JezabelALSADriver, JezabelDriverSwitch, JezabelJackDriver, and JezabelOSSDriver.

void JezabelDriver::stop ( ) [virtual]
 

Stop running the driver asynchronously.

Reimplemented in JezabelALSADriver, JezabelDriverSwitch, JezabelJackDriver, and JezabelOSSDriver.

const char * JezabelDriver::strerror ( ) [inline, virtual]
 

Returns string describing error in most recent operation, or null is no error

JezabelPosition JezabelDriver::where ( ) [virtual]
 

Return the current sample pointer.

Reimplemented in JezabelDriverSwitch.


The documentation for this class was generated from the following file:
Generated at Sun Jan 18 20:51:23 2004 for Jezabel by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001