20 #ifndef DRUMSTICK_ALSAPORT_H
21 #define DRUMSTICK_ALSAPORT_H
49 PortInfo(snd_seq_port_info_t* other);
55 int getSizeOfInfo()
const;
61 const snd_seq_addr_t* getAddr();
63 unsigned int getCapability();
64 unsigned int getType();
65 int getMidiChannels();
70 int getPortSpecified();
71 void setClient(
int client);
72 void setPort(
int port);
73 void setAddr(
const snd_seq_addr_t* addr);
74 void setName( QString
const& name );
75 void setCapability(
unsigned int capability);
76 void setType(
unsigned int type);
77 void setMidiChannels(
int channels);
78 void setMidiVoices(
int voices);
79 void setSynthVoices(
int voices);
80 void setPortSpecified(
int val);
81 SubscribersList getReadSubscribers()
const;
82 SubscribersList getWriteSubscribers()
const;
84 bool getTimestamping();
85 bool getTimestampReal();
86 int getTimestampQueue();
87 void setTimestamping(
bool value);
88 void setTimestampReal(
bool value);
89 void setTimestampQueue(
int queueId);
93 void freeSubscribers();
102 snd_seq_port_info_t* m_Info;
103 QString m_ClientName;
104 SubscribersList m_ReadSubscribers;
105 SubscribersList m_WriteSubscribers;
112 typedef QList<PortInfo> PortInfoList;
132 void unsubscribeAll();
133 void unsubscribeTo( QString
const& name );
134 void unsubscribeTo(
PortInfo* port );
135 void unsubscribeTo(
const snd_seq_addr_t* addr );
136 void unsubscribeFrom( QString
const& name );
137 void unsubscribeFrom(
PortInfo* port );
138 void unsubscribeFrom(
const snd_seq_addr_t* addr );
140 void subscribeTo(
int client,
int port );
141 void subscribeTo( QString
const& name );
142 void subscribeFrom(
PortInfo* port );
143 void subscribeFrom(
int client,
int port );
144 void subscribeFrom( QString
const& name );
145 void subscribeFromAnnounce();
146 void updateSubscribers();
147 SubscriptionsList getSubscriptions()
const;
148 PortInfoList getReadSubscribers();
149 PortInfoList getWriteSubscribers();
150 void updateConnectionsTo(
const PortInfoList& desired);
151 void updateConnectionsFrom(
const PortInfoList& desired);
153 static bool containsAddress(
const snd_seq_addr_t* addr,
const PortInfoList& lst);
155 void applyPortInfo();
156 QString getPortName();
157 void setPortName( QString
const& newName);
159 unsigned int getCapability();
160 void setCapability(
unsigned int newValue);
161 unsigned int getPortType();
162 void setPortType(
unsigned int newValue);
163 int getMidiChannels();
164 void setMidiChannels(
int newValue);
166 void setMidiVoices(
int newValue);
167 int getSynthVoices();
168 void setSynthVoices(
int newValue);
169 bool getTimestamping();
170 bool getTimestampReal();
171 int getTimestampQueue();
172 void setTimestamping(
bool value);
173 void setTimestampReal(
bool value);
174 void setTimestampQueue(
int queueId);
202 void freeSubscriptions();
209 SubscriptionsList m_Subscriptions;
215 typedef QList<MidiPort*> MidiPortList;
221 #endif //DRUMSTICK_ALSAPORT_H
QString getClientName() const
Gets the client name.
The QObject class is the base class of all Qt objects.
Classes managing ALSA sequencer subscriptions.
void setClientName(QString name)
Sets the client name.
Port information container.