root/branches/streaming-rework/src/libstreaming/AmdtpPort.h

Revision 404, 2.6 kB (checked in by pieterpalmers, 17 years ago)

- introduce support framework for DICE and Metric Halo
- change probe/discovery code to make adding devices easier
- made conditional compilation effectively work.

./configure now has the following switches:

--enable-bebob build BeBoB support (default=yes)
--enable-motu build Motu support (default=no)
--enable-dice build DICE support (default=no)
--enable-metric-halo build Metric Halo support (note: completely useless)

(default=no)

--enable-rme build RME support (note: completely useless)

(default=no)

--enable-bounce build Bounce device support (default=no)
--enable-all-devices build support for all supported devices (default=no)

these now turn on/off compilation effectively.

Line 
1 /* $Id$ */
2
3 /*
4  *   FreeBob Streaming API
5  *   FreeBob = Firewire (pro-)audio for linux
6  *
7  *   http://freebob.sf.net
8  *
9  *   Copyright (C) 2005,2006 Pieter Palmers <pieterpalmers@users.sourceforge.net>
10  *
11  *   This program is free software {} you can redistribute it and/or modify
12  *   it under the terms of the GNU General Public License as published by
13  *   the Free Software Foundation {} either version 2 of the License, or
14  *   (at your option) any later version.
15  *
16  *   This program is distributed in the hope that it will be useful,
17  *   but WITHOUT ANY WARRANTY {} without even the implied warranty of
18  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  *   GNU General Public License for more details.
20  *
21  *   You should have received a copy of the GNU General Public License
22  *   along with this program {} if not, write to the Free Software
23  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24  *
25  *
26  *
27  */
28 #ifdef ENABLE_BEBOB
29     #ifndef ENABLE_AMDTP_SP
30         #define ENABLE_AMDTP_SP
31     #endif
32 #endif
33
34 #ifdef ENABLE_DICE
35     #ifndef ENABLE_AMDTP_SP
36         #define ENABLE_AMDTP_SP
37     #endif
38 #endif
39
40 #ifdef ENABLE_BOUNCE
41     #ifndef ENABLE_AMDTP_SP
42         #define ENABLE_AMDTP_SP
43     #endif
44 #endif
45
46 #ifdef ENABLE_AMDTP_SP
47
48 #ifndef __FREEBOB_AMDTPPORT__
49 #define __FREEBOB_AMDTPPORT__
50
51 /**
52  * This file implements the AMDTP ports as used in the BeBoB's
53  */
54
55 #include "../debugmodule/debugmodule.h"
56 #include "Port.h"
57 #include "AmdtpPortInfo.h"
58
59 namespace FreebobStreaming {
60
61 /*!
62 \brief The Base Class for an AMDTP Audio Port
63
64  The AMDTP/AM824/IEC61883-6 port that represents audio.
65  
66 */
67 class AmdtpAudioPort
68         : public AudioPort, public AmdtpPortInfo
69 {
70
71 public:
72
73         AmdtpAudioPort(std::string name,
74                            enum E_Direction direction,
75                            int position,
76                            int location,
77                            enum E_Formats format,
78                            int type)
79         : AudioPort(name, direction),
80           AmdtpPortInfo(name, position, location, format, type)
81         {};
82
83         virtual ~AmdtpAudioPort() {};
84  
85 protected:
86
87 };
88
89 /*!
90 \brief The Base Class for an AMDTP Midi Port
91
92  The AMDTP/AM824/IEC61883-6 port that represents midi.
93  
94 */
95 class AmdtpMidiPort
96         : public MidiPort, public AmdtpPortInfo
97 {
98
99 public:
100
101         AmdtpMidiPort(std::string name,
102                            enum E_Direction direction,
103                            int position,
104                            int location,
105                            enum E_Formats format,
106                            int type)
107                 : MidiPort(name, direction),
108                   AmdtpPortInfo(name, position, location, format, type)
109         {};
110
111
112         virtual ~AmdtpMidiPort() {};
113
114 protected:
115        
116 };
117
118 } // end of namespace FreebobStreaming
119
120 #endif /* __FREEBOB_AMDTPPORT__ */
121
122 #endif // #ifdef ENABLE_AMDTP_SP
Note: See TracBrowser for help on using the browser.