drumstick  1.1.3
backendmanager.h
Go to the documentation of this file.
1 /*
2  Drumstick RT (realtime MIDI In/Out)
3  Copyright (C) 2009-2019 Pedro Lopez-Cabanillas <plcl@users.sf.net>
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #ifndef BACKENDMANAGER_H
20 #define BACKENDMANAGER_H
21 
22 #include <QObject>
23 #include "macros.h"
24 #include "rtmidiinput.h"
25 #include "rtmidioutput.h"
26 
34 namespace drumstick {
35 namespace rt {
36 
37  const QString QSTR_DRUMSTICK(QLatin1Literal("drumstick"));
38  const QString QSTR_DRUMSTICKRT(QLatin1Literal("DRUMSTICKRT"));
39  const QString QSTR_DRUMSTICKRT_GROUP(QLatin1Literal("DrumstickRT"));
40  const QString QSTR_DRUMSTICKRT_PUBLICNAMEIN(QLatin1Literal("PublicNameIN"));
41  const QString QSTR_DRUMSTICKRT_PUBLICNAMEOUT(QLatin1Literal("PublicNameOUT"));
42  const QString QSTR_DRUMSTICKRT_EXCLUDED(QLatin1Literal("ExcludedNames"));
43  const QString QSTR_DRUMSTICKRT_PATH(QLatin1Literal("BackendsPath"));
44 
49  class DRUMSTICK_EXPORT BackendManager
50  {
51  public:
55  explicit BackendManager();
56 
60  virtual ~BackendManager();
61 
66  void refresh(QSettings* settings = 0);
67 
72  QList<MIDIInput*> availableInputs();
73 
78  QList<MIDIOutput*> availableOutputs();
79 
84  QStringList defaultPaths();
85 
91  MIDIInput* inputBackendByName(const QString name);
92 
98  MIDIOutput* outputBackendByName(const QString name);
99 
100  private:
101  class BackendManagerPrivate;
102  BackendManagerPrivate *d;
103  };
104 
105 }}
106 
109 #endif // BACKENDMANAGER_H
drumstick::rt::MIDIOutput
MIDI OUT interface.
Definition: rtmidioutput.h:80
rtmidioutput.h
drumstick::rt::BackendManager
The BackendManager class manages lists of dynamic and static backends for applications based on drums...
Definition: backendmanager.h:49
drumstick::rt::MIDIInput
MIDI IN interface.
Definition: rtmidiinput.h:43
macros.h
rtmidiinput.h