JackTrip

Settings.h
Go to the documentation of this file.
1 //*****************************************************************
2 /*
3 JackTrip: A System for High-Quality Audio Network Performance
4 over the Internet
5
6 Copyright (c) 2008 Juan-Pablo Caceres, Chris Chafe.
7 SoundWIRE group at CCRMA, Stanford University.
8
9 Permission is hereby granted, free of charge, to any person
10 obtaining a copy of this software and associated documentation
11 files (the "Software"), to deal in the Software without
12 restriction, including without limitation the rights to use,
13 copy, modify, merge, publish, distribute, sublicense, and/or sell
14 copies of the Software, and to permit persons to whom the
15 Software is furnished to do so, subject to the following
16 conditions:
17
18 The above copyright notice and this permission notice shall be
19 included in all copies or substantial portions of the Software.
20
21 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
23 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
26 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
28 OTHER DEALINGS IN THE SOFTWARE.
29 */
30 //*****************************************************************
31
39 #ifndef __SETTINGS_H__
40 #define __SETTINGS_H__
41
42 #include <cstdlib>
43
44 #include "DataProtocol.h"
45
46 #ifndef __NO_JACK__
47 #include "JackAudioInterface.h"
48 #endif //__NO_JACK__
49
50 #include "JackTrip.h"
51
54 class Settings : public QThread
55 {
56 Q_OBJECT;
57
58 public:
59 Settings();
60 virtual ~Settings();
61
63 void parseInput(int argc, char** argv);
64
65 void startJackTrip();
66 void stopJackTrip();
67
69 void printUsage();
70
71 bool getLoopBack() { return mLoopBack; }
72
73
74 public slots:
75 void slotExitProgram()
76 {
77 std::cerr << "Exiting JackTrip..." << std::endl;
78 std::exit(1);
79 }
80
81 private:
82 JackTrip* mJackTrip;
83 JackTrip::jacktripModeT mJackTripMode;
84 JackTrip::dataProtocolT mDataProtocol;
85 int mNumChans;
86 int mBufferQueueLength;
87 AudioInterface::audioBitResolutionT mAudioBitResolution;
88 QString mPeerAddress;
89 int mBindPortNum;
90 int mPeerPortNum;
91 char* mClientName;
92 bool mUnderrrunZero;
93
94 bool mLoopBack;
95 bool mJamLink;
96 bool mEmptyHeader;
97 bool mJackTripServer;
98 QString mLocalAddress;
99 unsigned int mRedundancy;
100 bool mUseJack;
101 bool mChanfeDefaultSR;
102 bool mChanfeDefaultBS;
103 unsigned int mSampleRate;
104 unsigned int mAudioBufferSize;
105 };
106
107 #endif
AudioInterface::audioBitResolutionT
audioBitResolutionT
Enum for Audio Resolution in bits.
Definition: AudioInterface.h:61
Settings::startJackTrip
void startJackTrip()
Definition: Settings.cpp:331
JackTrip.h
DataProtocol.h
Settings
Class to set usage options and parse settings from input.
Definition: Settings.h:54
Settings::slotExitProgram
void slotExitProgram()
Definition: Settings.h:75
Settings::getLoopBack
bool getLoopBack()
Definition: Settings.h:71
Settings::parseInput
void parseInput(int argc, char **argv)
Parses command line input.
Definition: Settings.cpp:86
Settings::~Settings
virtual ~Settings()
Definition: Settings.cpp:79
JackAudioInterface.h
Settings::printUsage
void printUsage()
Prints usage help.
Definition: Settings.cpp:280
JackTrip::jacktripModeT
jacktripModeT
Enum for the JackTrip mode.
Definition: JackTrip.h:82
Settings::Settings
Settings()
Definition: Settings.cpp:57
JackTrip::dataProtocolT
dataProtocolT
Enum for the data Protocol. At this time only UDP is implemented.
Definition: JackTrip.h:75
Settings::stopJackTrip
void stopJackTrip()
Definition: Settings.cpp:456
JackTrip
Main class to creates a SERVER (to listen) or a CLIENT (to connect to a listening server) to send aud...
Definition: JackTrip.h:67