File: Connect.h

package info (click to toggle)
kwave 25.04.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,272 kB
  • sloc: cpp: 56,173; xml: 817; perl: 688; sh: 57; makefile: 11
file content (62 lines) | stat: -rw-r--r-- 2,583 bytes parent folder | download
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
/*************************************************************************
    Connect.h  -  function for connecting Kwave streaming objects
                             -------------------
    begin                : Sat Oct 27 2007
    copyright            : (C) 2007 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 CONNECT_H
#define CONNECT_H

#include "config.h"
#include "libkwave_export.h"

#include <QtGlobal>


namespace Kwave
{

    class StreamObject;

    /**
     * Connect an output of a Kwave::SampleSource to the input
     * of a Kwave::SampleSink. The following combinations of
     * single-track and multi-track sources/sinks are allowed.:
     * \li single -> single (1:1)
     * \li single -> multi  (1:N)
     * \li multi  -> multi  (N:N)
     *
     * @param source a Kwave::SampleSource that produces data
     * @param output name of the output, must be formed with the
     *               Qt macro \c SIGNAL(...) \c out of
     *               a Qt style signal.
     * @param sink a Kwave::SampleSink that can receive data
     * @param input name of the inputm must be formed with the
     *              Qt macro \c SLOT(...) \c out of a Qt style
     *              (public) slot .
     * @return true if successful or false if either
     *         \li an invalid combination of single/multi track
     *             source/sink has been passed
     *         \li a source or sink's track is NULL (missing)
     *         \li input or output name is zero-length
     */
    bool connect(Kwave::StreamObject &source, const char *output,
                 Kwave::StreamObject &sink,   const char *input)
                 LIBKWAVE_EXPORT;
}

#endif /* CONNECT_H */

//***************************************************************************
//***************************************************************************