3 |
* LinuxSampler - modular, streaming capable sampler * |
* LinuxSampler - modular, streaming capable sampler * |
4 |
* * |
* * |
5 |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
6 |
* Copyright (C) 2005 Christian Schoenebeck * |
* Copyright (C) 2005, 2006 Christian Schoenebeck * |
7 |
* * |
* * |
8 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
9 |
* it under the terms of the GNU General Public License as published by * |
* it under the terms of the GNU General Public License as published by * |
28 |
|
|
29 |
#include "../../common/global.h" |
#include "../../common/global.h" |
30 |
#include "../../common/Thread.h" |
#include "../../common/Thread.h" |
|
#include "../../common/RingBuffer.h" |
|
31 |
#include "MidiInputDevice.h" |
#include "MidiInputDevice.h" |
32 |
|
|
33 |
namespace LinuxSampler { |
namespace LinuxSampler { |
51 |
*/ |
*/ |
52 |
class ParameterName : public MidiInputPort::ParameterName { |
class ParameterName : public MidiInputPort::ParameterName { |
53 |
public: |
public: |
54 |
ParameterName(MidiInputPort* pPort) throw (LinuxSamplerException); |
ParameterName(MidiInputPort* pPort) throw (Exception); |
55 |
virtual void OnSetValue(String s) throw (LinuxSamplerException); |
virtual void OnSetValue(String s) throw (Exception); |
56 |
}; |
}; |
57 |
|
|
58 |
/** MIDI Port Parameter 'ALSA_SEQ_BINDINGS' |
/** MIDI Port Parameter 'ALSA_SEQ_BINDINGS' |
65 |
virtual String Description(); |
virtual String Description(); |
66 |
virtual bool Fix(); |
virtual bool Fix(); |
67 |
virtual std::vector<String> PossibilitiesAsString(); |
virtual std::vector<String> PossibilitiesAsString(); |
68 |
virtual void OnSetValue(std::vector<String> vS) throw (LinuxSamplerException); |
virtual void OnSetValue(std::vector<String> vS) throw (Exception); |
69 |
protected: |
protected: |
70 |
MidiInputPortAlsa* pPort; |
MidiInputPortAlsa* pPort; |
71 |
}; |
}; |
86 |
|
|
87 |
void ConnectToAlsaMidiSource(const char* MidiSource); |
void ConnectToAlsaMidiSource(const char* MidiSource); |
88 |
protected: |
protected: |
89 |
|
std::vector<snd_seq_port_subscribe_t*> subscriptions; |
90 |
|
|
91 |
MidiInputPortAlsa(MidiInputDeviceAlsa* pDevice) throw (MidiInputException); |
MidiInputPortAlsa(MidiInputDeviceAlsa* pDevice) throw (MidiInputException); |
92 |
~MidiInputPortAlsa(); |
~MidiInputPortAlsa(); |
93 |
friend class MidiInputDeviceAlsa; |
friend class MidiInputDeviceAlsa; |
98 |
friend class ParameterAlsaSeqBindings; |
friend class ParameterAlsaSeqBindings; |
99 |
}; |
}; |
100 |
|
|
101 |
MidiInputDeviceAlsa(std::map<String,DeviceCreationParameter*> Parameters); |
MidiInputDeviceAlsa(std::map<String,DeviceCreationParameter*> Parameters, void* pSampler); |
102 |
~MidiInputDeviceAlsa(); |
~MidiInputDeviceAlsa(); |
103 |
|
|
104 |
// derived abstract methods from class 'MidiInputDevice' |
// derived abstract methods from class 'MidiInputDevice' |