drumstick  1.1.0
backendmanager.h
Go to the documentation of this file.
1 /*
2  Drumstick RT (realtime MIDI In/Out)
3  Copyright (C) 2009-2016 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 along
16  with this program; if not, write to the Free Software Foundation, Inc.,
17  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 */
19 
20 #ifndef BACKENDMANAGER_H
21 #define BACKENDMANAGER_H
22 
23 #include <QObject>
24 #include "macros.h"
25 #include "rtmidiinput.h"
26 #include "rtmidioutput.h"
27 
35 namespace drumstick {
36 namespace rt {
37 
38  const QString QSTR_DRUMSTICK(QLatin1Literal("drumstick"));
39  const QString QSTR_DRUMSTICKRT(QLatin1Literal("DRUMSTICKRT"));
40  const QString QSTR_DRUMSTICKRT_GROUP(QLatin1Literal("DrumstickRT"));
41  const QString QSTR_DRUMSTICKRT_PUBLICNAMEIN(QLatin1Literal("PublicNameIN"));
42  const QString QSTR_DRUMSTICKRT_PUBLICNAMEOUT(QLatin1Literal("PublicNameOUT"));
43  const QString QSTR_DRUMSTICKRT_EXCLUDED(QLatin1Literal("ExcludedNames"));
44  const QString QSTR_DRUMSTICKRT_PATH(QLatin1Literal("BackendsPath"));
45 
50  class DRUMSTICK_EXPORT BackendManager
51  {
52  public:
56  explicit BackendManager();
57 
61  virtual ~BackendManager();
62 
67  void refresh(QSettings* settings = 0);
68 
73  QList<MIDIInput*> availableInputs();
74 
79  QList<MIDIOutput*> availableOutputs();
80 
85  QStringList defaultPaths();
86 
92  MIDIInput* inputBackendByName(const QString name);
93 
99  MIDIOutput* outputBackendByName(const QString name);
100 
101  private:
102  class BackendManagerPrivate;
103  BackendManagerPrivate *d;
104  };
105 
106 }}
107 
110 #endif // BACKENDMANAGER_H
MIDI IN interface.
Definition: rtmidiinput.h:44
The BackendManager class manages lists of dynamic and static backends for applications based on drums...
Drumstick visibility macros.
Realtime MIDI output interface.
Realtime MIDI input interface.
MIDI OUT interface.
Definition: rtmidioutput.h:78