drumstick
1.1.3
rtmidiinput.h
Go to the documentation of this file.
1
/*
2
Drumstick MIDI realtime input-output
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 MIDIINPUT_H
20
#define MIDIINPUT_H
21
22
#include <QObject>
23
#include <QString>
24
#include <QStringList>
25
#include <QtPlugin>
26
#include <QSettings>
27
28
#include "
rtmidioutput.h
"
29
37
namespace
drumstick {
38
namespace
rt {
39
43
class
MIDIInput
:
public
QObject
44
{
45
Q_OBJECT
46
47
public
:
52
explicit
MIDIInput
(
QObject
*parent = 0) :
QObject
(parent) {}
56
virtual
~MIDIInput
() {}
61
virtual
void
initialize
(QSettings* settings) = 0;
66
virtual
QString
backendName
() = 0;
71
virtual
QString
publicName
() = 0;
76
virtual
void
setPublicName
(QString name) = 0;
81
virtual
QStringList
connections
(
bool
advanced =
false
) = 0;
86
virtual
void
setExcludedConnections
(QStringList conns) = 0;
91
virtual
void
open
(QString name) = 0;
95
virtual
void
close
() = 0;
100
virtual
QString
currentConnection
() = 0;
105
virtual
void
setMIDIThruDevice
(
MIDIOutput
* device) = 0;
110
virtual
void
enableMIDIThru
(
bool
enable) = 0;
115
virtual
bool
isEnabledMIDIThru
() = 0;
116
117
Q_SIGNALS:
124
void
midiNoteOff
(
const
int
chan,
const
int
note,
const
int
vel);
125
132
void
midiNoteOn
(
const
int
chan,
const
int
note,
const
int
vel);
133
140
void
midiKeyPressure
(
const
int
chan,
const
int
note,
const
int
value);
141
148
void
midiController
(
const
int
chan,
const
int
control,
const
int
value);
149
155
void
midiProgram
(
const
int
chan,
const
int
program);
156
162
void
midiChannelPressure
(
const
int
chan,
const
int
value);
163
169
void
midiPitchBend
(
const
int
chan,
const
int
value);
170
175
void
midiSysex
(
const
QByteArray &data);
176
181
void
midiSystemCommon
(
const
int
status);
182
187
void
midiSystemRealtime
(
const
int
status);
188
};
189
}}
190
191
Q_DECLARE_INTERFACE(
drumstick::rt::MIDIInput
,
"net.sourceforge.drumstick.rt.MIDIInput/1.0"
)
192
193
195
#endif // MIDIINPUT_H
drumstick::rt::MIDIInput::initialize
virtual void initialize(QSettings *settings)=0
initialize
QObject
drumstick::rt::MIDIOutput
MIDI OUT interface.
Definition:
rtmidioutput.h:81
drumstick::rt::MIDIInput::isEnabledMIDIThru
virtual bool isEnabledMIDIThru()=0
isEnabledMIDIThru
drumstick::rt::MIDIInput::backendName
virtual QString backendName()=0
backendName
rtmidioutput.h
drumstick::rt::MIDIInput::midiController
void midiController(const int chan, const int control, const int value)
midiController 0xB
drumstick::rt::MIDIInput
MIDI IN interface.
Definition:
rtmidiinput.h:44
drumstick::rt::MIDIInput::close
virtual void close()=0
close the MIDI port
drumstick::rt::MIDIInput::midiChannelPressure
void midiChannelPressure(const int chan, const int value)
midiChannelPressure 0xD
drumstick::rt::MIDIInput::midiKeyPressure
void midiKeyPressure(const int chan, const int note, const int value)
midiKeyPressure 0xA
drumstick::rt::MIDIInput::setPublicName
virtual void setPublicName(QString name)=0
setPublicName
drumstick::rt::MIDIInput::midiProgram
void midiProgram(const int chan, const int program)
midiProgram 0xC
drumstick::rt::MIDIInput::~MIDIInput
virtual ~MIDIInput()
~MIDIInput destructor
Definition:
rtmidiinput.h:56
drumstick::rt::MIDIInput::MIDIInput
MIDIInput(QObject *parent=0)
MIDIInput constructor.
Definition:
rtmidiinput.h:52
drumstick::rt::MIDIInput::connections
virtual QStringList connections(bool advanced=false)=0
connections
drumstick::rt::MIDIInput::midiNoteOff
void midiNoteOff(const int chan, const int note, const int vel)
midiNoteOff 0x8
drumstick::rt::MIDIInput::midiPitchBend
void midiPitchBend(const int chan, const int value)
midiPitchBend 0xE
drumstick::rt::MIDIInput::midiNoteOn
void midiNoteOn(const int chan, const int note, const int vel)
midiNoteOn 0x9
drumstick::rt::MIDIInput::midiSysex
void midiSysex(const QByteArray &data)
midiSysex
drumstick::rt::MIDIInput::setExcludedConnections
virtual void setExcludedConnections(QStringList conns)=0
setExcludedConnections
drumstick::rt::MIDIInput::publicName
virtual QString publicName()=0
publicName
drumstick::rt::MIDIInput::setMIDIThruDevice
virtual void setMIDIThruDevice(MIDIOutput *device)=0
setMIDIThruDevice
drumstick::rt::MIDIInput::enableMIDIThru
virtual void enableMIDIThru(bool enable)=0
enableMIDIThru
drumstick::rt::MIDIInput::open
virtual void open(QString name)=0
open the MIDI port by name
drumstick::rt::MIDIInput::midiSystemRealtime
void midiSystemRealtime(const int status)
midiSystemRealtime
drumstick::rt::MIDIInput::currentConnection
virtual QString currentConnection()=0
currentConnection
drumstick::rt::MIDIInput::midiSystemCommon
void midiSystemCommon(const int status)
midiSystemCommon
library
include
drumstick
rtmidiinput.h
Generated by
1.8.18