[a21201]: libkwave / ArtsMultiSink.h Maximize Restore History

Download this file

ArtsMultiSink.h    74 lines (59 with data), 2.5 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/***************************************************************************
ArtsMultiSink.h - base class for multi-track aRts compatible sinks
-------------------
begin : Sun Dec 9 2001
copyright : (C) 2001 by Thomas Eschenbacher
email : Thomas.Eschenbacher@gmx.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef _ARTS_MULTI_SINK_H_
#define _ARTS_MULTI_SINK_H_
#include "config.h"
#ifdef HAVE_ARTS_SUPPORT
#include <qglobal.h> // for qFatal(...)
#include <arts/artsflow.h>
class ArtsMultiSink
{
public:
/** Destructor */
virtual ~ArtsMultiSink() {};
/**
* Returns a pointer to one of the aRts sample sinks. (Used for
* connecting to the internal aRts streams)
* @param i index of the track [0...count-1]
* @return pointer to an Arts::Object
*/
virtual Arts::Object *operator [] (unsigned int i) = 0;
/**
* Can be overwritten in a derived class that is used as the
* last sink in a chain of aRts (compatible) objects to
* start/continue the data processing.
*/
virtual void goOn() {
qFatal("ArtsMultiSink::goOn(): SHOULD NEVER BE CALLED!");
};
/**
* Can be overwritten in a derived class that is used as the
* last sink in a chain of aRts (compatible) objects to
* determine the end of data processing (sink is full/eof detection).
*/
virtual bool done() {
qFatal("ArtsMultiSink::done(): SHOULD NEVER BE CALLED!");
return true;
};
/** @see Arts::StdSynthModule::start() */
virtual void start() {};
/** @see Arts::StdSynthModule::stop() */
virtual void stop() {};
};
#else /* HAVE_ARTS_SUPPORT */
#warning aRts support is disabled
#endif /* HAVE_ARTS_SUPPORT */
#endif /* _ARTS_MULTI_SINK_H_ */