2a227085fc
LMMS is a music production program. This includes the creation of melodies and beats, the synthesis and mixing of sounds, and arrangement of samples. You can have fun with your MIDI keyboard and much more. Features: * Song Editor for composing songs * A Beat+Bassline Editor for creating beats and basslines * An easy to use Piano Roll for editing patterns and melodies * An FX mixer with 64 FX channels and arbitrary number of effects allow unlimited mixing possibilities * Many powerful instrument and effects plugins out of the box * Full user defined track based automation and computer controlled automation sources * Compatible with many standards such as SoundFont2, LADSPA, and full MIDI support * Import of MIDI and FLP (Frootyloops Project) files import requested by armani@, some midi bits improved by ratchov@, reviewed by ratchov@ and stsp@ "why isn't that imported yet" from several
55 lines
852 B
C++
55 lines
852 B
C++
|
|
#ifndef _MIDI_SNDIO_H
|
|
#define _MIDI_SNDIO_H
|
|
|
|
#include "lmmsconfig.h"
|
|
|
|
#ifdef LMMS_HAVE_SNDIO
|
|
|
|
#include <QtCore/QThread>
|
|
#include <QtCore/QFile>
|
|
|
|
#include <sndio.h>
|
|
|
|
#include "MidiClient.h"
|
|
|
|
class QLineEdit;
|
|
|
|
|
|
class MidiSndio : public MidiClientRaw, public QThread
|
|
{
|
|
public:
|
|
MidiSndio( void );
|
|
virtual ~MidiSndio();
|
|
|
|
static QString probeDevice(void);
|
|
|
|
inline static QString name(void)
|
|
{
|
|
return(QT_TRANSLATE_NOOP("setupWidget", "sndio MIDI"));
|
|
}
|
|
|
|
class setupWidget : public MidiClientRaw::setupWidget
|
|
{
|
|
public:
|
|
setupWidget(QWidget * _parent);
|
|
virtual ~setupWidget();
|
|
virtual void saveSettings(void);
|
|
|
|
private:
|
|
QLineEdit * m_device;
|
|
} ;
|
|
|
|
protected:
|
|
virtual void sendByte(const Uint8 _c);
|
|
virtual void run(void);
|
|
|
|
private:
|
|
struct mio_hdl *m_hdl;
|
|
volatile bool m_quit;
|
|
} ;
|
|
|
|
#endif /* LMMS_HAVE_SNDIO */
|
|
|
|
#endif /* _MIDI_SNDIO_H */
|