25#ifndef LMMS_MIDI_WINMM_H
26#define LMMS_MIDI_WINMM_H
28#include "lmmsconfig.h"
30#ifdef LMMS_BUILD_WIN32
45class MidiWinMM :
public QObject,
public MidiClient
52 inline static QString probeDevice()
58 inline static QString
name()
60 return QT_TRANSLATE_NOOP(
"MidiSetupWidget",
"WinMM MIDI" );
63 inline static QString configSection()
70 virtual void processOutEvent(
const MidiEvent & _me,
71 const TimePos & _time,
72 const MidiPort * _port );
74 virtual void applyPortMode( MidiPort * _port );
75 virtual void removePort( MidiPort * _port );
79 virtual QStringList readablePorts()
const
81 return m_inputDevices.values();
84 virtual QStringList writablePorts()
const
86 return m_outputDevices.values();
90 virtual QString sourcePortName(
const MidiEvent & )
const;
93 virtual void subscribeReadablePort( MidiPort * _port,
94 const QString & _dest,
95 bool _subscribe =
true );
96 virtual void subscribeWritablePort( MidiPort * _port,
97 const QString & _dest,
98 bool _subscribe =
true );
99 virtual void connectRPChanged( QObject * _receiver,
100 const char * _member )
102 connect(
this,
SIGNAL( readablePortsChanged() ),
103 _receiver, _member );
106 virtual void connectWPChanged( QObject * _receiver,
107 const char * _member )
109 connect(
this,
SIGNAL( writablePortsChanged() ),
110 _receiver, _member );
113 virtual bool isRaw()
const
120 void updateDeviceList();
131 void handleInputEvent( HMIDIIN _hm,
DWORD _ev );
133 QMap<HMIDIIN, QString> m_inputDevices;
134 QMap<HMIDIOUT, QString> m_outputDevices;
137 using SubMap = QMap<QString, MidiPortList>;
143 void readablePortsChanged();
144 void writablePortsChanged();
Definition MidiClient.h:46
static const char * name
Definition pugl.h:1582
Definition AudioAlsa.cpp:35
unsigned int UINT
Definition swell-types.h:166
unsigned int DWORD
Definition swell-types.h:164
uintptr_t DWORD_PTR
Definition swell-types.h:43
#define WINAPI
Definition swell-types.h:631
#define CALLBACK
Definition swell-types.h:635
#define SIGNAL
Definition tap_pinknoise.c:34