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
34namespace drumstick {
35namespace 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
The BackendManager class manages lists of dynamic and static backends for applications based on drums...
MIDI IN interface.
Definition rtmidiinput.h:44
MIDI OUT interface.
Drumstick visibility macros.
Realtime MIDI input interface.
Realtime MIDI output interface.