![]() |
drumstick 2.9.1
C++ MIDI libraries using Qt objects, idioms, and style.
|
Port management. More...
#include <alsaport.h>

Signals | |
| void | subscribed (drumstick::ALSA::MidiPort *port, drumstick::ALSA::Subscription *subs) |
| Signal emitted when an internal subscription is done. | |
| void | midiClientChanged (drumstick::ALSA::MidiPort *port, drumstick::ALSA::MidiClient *seq) |
| Signal emitted when the MidiClient has changed. | |
| void | attached (drumstick::ALSA::MidiPort *port) |
| Signal emitted when the port is attached to a MidiClient. | |
| void | detached (drumstick::ALSA::MidiPort *port) |
| Signal emitted when the port is detached from a MidiClient. | |
Public Member Functions | |
| MidiPort (QObject *parent=nullptr) | |
| Constructor. | |
| virtual | ~MidiPort () |
| Destructor. | |
| void | attach (MidiClient *seq) |
| Attach the port to a MidiClient instance. | |
| void | detach () |
| Detach the port from any MidiClient instance previously attached. | |
| void | subscribe (Subscription *subs) |
| Subscribe a Subscription object. | |
| void | unsubscribe (Subscription *subs) |
| Unsubscribe a Subscription object. | |
| void | unsubscribeAll () |
| Unsubscribe all subscriptions. | |
| void | unsubscribeTo (QString const &name) |
| Unsubscribe a destination port. | |
| void | unsubscribeTo (PortInfo *port) |
| Unsubscribe a destination port. | |
| void | unsubscribeTo (const snd_seq_addr_t *addr) |
| Unsubscribe a destination port. | |
| void | unsubscribeFrom (QString const &name) |
| Unsubscribe a source port. | |
| void | unsubscribeFrom (PortInfo *port) |
| Unsubscribe a source port. | |
| void | unsubscribeFrom (const snd_seq_addr_t *addr) |
| Unsubscribe a source port. | |
| void | subscribeTo (PortInfo *port) |
| Subscribe to another port destination. | |
| void | subscribeTo (int client, int port) |
| Susbcribe to another port destination. | |
| void | subscribeTo (QString const &name) |
| Subscribe to another port destination. | |
| void | subscribeFrom (PortInfo *port) |
| Subscribe a source port. | |
| void | subscribeFrom (int client, int port) |
| Subscribe a source port. | |
| void | subscribeFrom (QString const &name) |
| Subscribe a source port. | |
| void | subscribeFromAnnounce () |
| Subscribe from the System:announce port. | |
| void | updateSubscribers () |
| Update the subscribers list in the PortInfo member. | |
| SubscriptionsList | getSubscriptions () const |
| Gets the list of susbcriptions. | |
| PortInfoList | getReadSubscribers () |
| Gets the list of read subscribers. | |
| PortInfoList | getWriteSubscribers () |
| Gets the list of write subscribers. | |
| void | updateConnectionsTo (const PortInfoList &desired) |
| Update the write subscriptions. | |
| void | updateConnectionsFrom (const PortInfoList &desired) |
| Update the read susbcriptions. | |
| void | applyPortInfo () |
| Applies all the the delayed PortInfo changes to the MIDI port object. | |
| QString | getPortName () |
| Gets the port name. | |
| void | setPortName (QString const &newName) |
| Sets the port name. | |
| int | getPortId () |
| Gets the port number. | |
| unsigned int | getCapability () |
| Gets the port capabilities. | |
| void | setCapability (unsigned int newValue) |
| Sets the port capabilities. | |
| unsigned int | getPortType () |
| Gets the port type. | |
| void | setPortType (unsigned int newValue) |
| Sets the port type bitmap. | |
| int | getMidiChannels () |
| Gets the MIDI channels. | |
| void | setMidiChannels (int newValue) |
| Sets the MIDI channels. | |
| int | getMidiVoices () |
| Gets the MIDI voices. | |
| void | setMidiVoices (int newValue) |
| Sets the MIDI voices. | |
| int | getSynthVoices () |
| Gets the synth voices. | |
| void | setSynthVoices (int newValue) |
| Sets the synth voices. | |
| bool | getTimestamping () |
| Gets the timestamping mode. | |
| bool | getTimestampReal () |
| Gets the timestamp real mode. | |
| int | getTimestampQueue () |
| Gets the timestamp queue number. | |
| void | setTimestamping (bool value) |
| Sets the timestamping mode. | |
| void | setTimestampReal (bool value) |
| Sets the timestamp real mode. | |
| void | setTimestampQueue (int queueId) |
| Sets the timestamp queue number. | |
Static Public Member Functions | |
| static bool | containsAddress (const snd_seq_addr_t *addr, const PortInfoList &lst) |
| Checks if the provided address is included in the port list. | |
Protected Member Functions | |
| PortInfo * | getPortInfo () |
| Gets the PortInfo object pointer. | |
| void | freeSubscriptions () |
| Releases the lists of subscriptions. | |
| void | setMidiClient (MidiClient *seq) |
| Sets the MidiClient. | |
Port management.
This class represents an ALSA sequencer port.
Definition at line 124 of file alsaport.h.
Constructor.
| parent | An optional parent object |
Definition at line 572 of file alsaport.cpp.
|
virtual |
Destructor.
All subscriptions are released.
Definition at line 583 of file alsaport.cpp.
References MidiPort::detach(), MidiPort::freeSubscriptions(), and MidiPort::unsubscribeAll().
| void attach | ( | MidiClient * | seq | ) |
Attach the port to a MidiClient instance.
| seq | A MidiClient object pointer |
Definition at line 1121 of file alsaport.cpp.
References MidiPort::attached(), and MidiClient::portAttach().
Referenced by MidiClient::createPort().
|
signal |
Signal emitted when the port is attached to a MidiClient.
| port | MIDI port object pointer |
Referenced by MidiPort::attach().
|
static |
Checks if the provided address is included in the port list.
| addr | ALSA address record pointer |
| lst | List of port information containers |
Definition at line 1210 of file alsaport.cpp.
References PortInfo::getAddr().
Referenced by MidiPort::updateConnectionsFrom(), and MidiPort::updateConnectionsTo().
|
signal |
Signal emitted when the port is detached from a MidiClient.
| port | MIDI port object pointer |
Referenced by MidiPort::detach().
| unsigned int getCapability | ( | ) |
Gets the port capabilities.
Definition at line 950 of file alsaport.cpp.
References PortInfo::getCapability().
| int getMidiChannels | ( | ) |
Gets the MIDI channels.
Definition at line 995 of file alsaport.cpp.
References PortInfo::getMidiChannels().
| int getMidiVoices | ( | ) |
Gets the MIDI voices.
Definition at line 1016 of file alsaport.cpp.
References PortInfo::getMidiVoices().
| int getPortId | ( | ) |
Gets the port number.
Definition at line 939 of file alsaport.cpp.
References PortInfo::getPort().
|
protected |
Gets the PortInfo object pointer.
Definition at line 595 of file alsaport.cpp.
Referenced by MidiClient::detachAllPorts(), and MidiClient::portDetach().
| QString getPortName | ( | ) |
Gets the port name.
Definition at line 918 of file alsaport.cpp.
References PortInfo::getName().
| unsigned int getPortType | ( | ) |
Gets the port type.
Definition at line 973 of file alsaport.cpp.
References PortInfo::getType().
| PortInfoList getReadSubscribers | ( | ) |
Gets the list of read subscribers.
Definition at line 1158 of file alsaport.cpp.
References Subscriber::getAddr(), PortInfo::getCapability(), PortInfo::getClient(), MidiClient::getClientName(), PortInfo::getReadSubscribers(), and PortInfo::setClientName().
Referenced by MidiPort::updateConnectionsTo().
| SubscriptionsList getSubscriptions | ( | ) | const |
Gets the list of susbcriptions.
Definition at line 605 of file alsaport.cpp.
| int getSynthVoices | ( | ) |
Gets the synth voices.
Definition at line 1037 of file alsaport.cpp.
References PortInfo::getSynthVoices().
| bool getTimestamping | ( | ) |
Gets the timestamping mode.
Definition at line 1058 of file alsaport.cpp.
References PortInfo::getTimestamping().
| int getTimestampQueue | ( | ) |
Gets the timestamp queue number.
Definition at line 1078 of file alsaport.cpp.
References PortInfo::getTimestampQueue().
| bool getTimestampReal | ( | ) |
Gets the timestamp real mode.
Definition at line 1068 of file alsaport.cpp.
References PortInfo::getTimestampReal().
| PortInfoList getWriteSubscribers | ( | ) |
Gets the list of write subscribers.
Definition at line 1183 of file alsaport.cpp.
References Subscriber::getAddr(), PortInfo::getCapability(), PortInfo::getClient(), MidiClient::getClientName(), PortInfo::getWriteSubscribers(), and PortInfo::setClientName().
Referenced by MidiPort::updateConnectionsFrom().
|
signal |
Signal emitted when the MidiClient has changed.
| port | MIDI port object pinter |
| seq | MidiClient object pointer |
Referenced by MidiPort::setMidiClient().
| void setCapability | ( | unsigned int | newValue | ) |
Sets the port capabilities.
| newValue | The capabilities bitmap |
Definition at line 961 of file alsaport.cpp.
References MidiPort::applyPortInfo(), and PortInfo::setCapability().
| void setMidiChannels | ( | int | newValue | ) |
Sets the MIDI channels.
| newValue | The MIDI channels |
Definition at line 1005 of file alsaport.cpp.
References MidiPort::applyPortInfo(), and PortInfo::setMidiChannels().
|
protected |
Sets the MidiClient.
| seq | A MidiClient object pointer |
Definition at line 624 of file alsaport.cpp.
References MidiPort::applyPortInfo(), and MidiPort::midiClientChanged().
Referenced by MidiClient::detachAllPorts(), and MidiClient::portDetach().
| void setMidiVoices | ( | int | newValue | ) |
Sets the MIDI voices.
| newValue | The MIDI voices |
Definition at line 1026 of file alsaport.cpp.
References MidiPort::applyPortInfo(), and PortInfo::setMidiVoices().
| void setPortName | ( | QString const & | newName | ) |
Sets the port name.
| newName | The new port name |
Definition at line 928 of file alsaport.cpp.
References MidiPort::applyPortInfo(), and PortInfo::setName().
| void setPortType | ( | unsigned int | newValue | ) |
Sets the port type bitmap.
| newValue | The port type flags bitmap |
Definition at line 984 of file alsaport.cpp.
References MidiPort::applyPortInfo(), and PortInfo::setType().
| void setSynthVoices | ( | int | newValue | ) |
Sets the synth voices.
| newValue | The synth voices |
Definition at line 1047 of file alsaport.cpp.
References MidiPort::applyPortInfo(), and PortInfo::setSynthVoices().
| void setTimestamping | ( | bool | value | ) |
Sets the timestamping mode.
| value | The timestamping mode |
Definition at line 1088 of file alsaport.cpp.
References MidiPort::applyPortInfo(), and PortInfo::setTimestamping().
| void setTimestampQueue | ( | int | queueId | ) |
Sets the timestamp queue number.
| queueId | The queue number |
Definition at line 1110 of file alsaport.cpp.
References MidiPort::applyPortInfo(), and PortInfo::setTimestampQueue().
| void setTimestampReal | ( | bool | value | ) |
Sets the timestamp real mode.
| value | The timestamp real mode |
Definition at line 1099 of file alsaport.cpp.
References MidiPort::applyPortInfo(), and PortInfo::setTimestampReal().
| void subscribe | ( | Subscription * | subs | ) |
Subscribe a Subscription object.
| subs | A Subscription object pointer |
Definition at line 639 of file alsaport.cpp.
References Subscription::subscribe(), and MidiPort::subscribed().
Referenced by MidiPort::subscribeFrom(), MidiPort::subscribeFrom(), MidiPort::subscribeFrom(), MidiPort::subscribeTo(), MidiPort::subscribeTo(), and MidiPort::subscribeTo().
|
signal |
Signal emitted when an internal subscription is done.
| port | MIDI port object pointer |
| subs | Subscription object pointer |
Referenced by MidiPort::subscribe().
| void subscribeFrom | ( | int | client, |
| int | port ) |
Subscribe a source port.
Definition at line 793 of file alsaport.cpp.
References PortInfo::getAddr(), Subscription::setDest(), Subscription::setSender(), and MidiPort::subscribe().
| void subscribeFrom | ( | PortInfo * | port | ) |
Subscribe a source port.
| port | A PortInfo object pointer |
Definition at line 779 of file alsaport.cpp.
References PortInfo::getAddr(), Subscription::setDest(), Subscription::setSender(), and MidiPort::subscribe().
Referenced by MidiPort::subscribeFromAnnounce(), and MidiPort::updateConnectionsFrom().
| void subscribeFrom | ( | QString const & | name | ) |
Subscribe a source port.
| name | A string representing a client:port pair |
Definition at line 809 of file alsaport.cpp.
References PortInfo::getAddr(), MidiClient::getHandle(), MidiClient::parseAddress(), Subscription::setDest(), Subscription::setSender(), and MidiPort::subscribe().
| void subscribeTo | ( | int | client, |
| int | port ) |
Susbcribe to another port destination.
Definition at line 693 of file alsaport.cpp.
References PortInfo::getAddr(), Subscription::setDest(), Subscription::setSender(), and MidiPort::subscribe().
| void subscribeTo | ( | PortInfo * | info | ) |
Subscribe to another port destination.
| info | A PortInfo object pointer |
Definition at line 679 of file alsaport.cpp.
References PortInfo::getAddr(), Subscription::setDest(), Subscription::setSender(), and MidiPort::subscribe().
Referenced by MidiPort::updateConnectionsTo().
| void subscribeTo | ( | QString const & | name | ) |
Subscribe to another port destination.
| name | A string representing a client:port pair |
Definition at line 709 of file alsaport.cpp.
References PortInfo::getAddr(), MidiClient::getHandle(), MidiClient::parseAddress(), Subscription::setDest(), Subscription::setSender(), and MidiPort::subscribe().
| void unsubscribe | ( | Subscription * | subs | ) |
Unsubscribe a Subscription object.
| subs | A Subscription object pointer |
Definition at line 651 of file alsaport.cpp.
References Subscription::getDest(), Subscription::getSender(), and Subscription::unsubscribe().
Referenced by MidiPort::unsubscribeFrom(), MidiPort::unsubscribeFrom(), MidiPort::unsubscribeFrom(), MidiPort::unsubscribeTo(), MidiPort::unsubscribeTo(), and MidiPort::unsubscribeTo().
| void unsubscribeFrom | ( | const snd_seq_addr_t * | addr | ) |
Unsubscribe a source port.
| addr | An ALSA address record pointer |
Definition at line 863 of file alsaport.cpp.
References PortInfo::getAddr(), MidiClient::getHandle(), Subscription::setDest(), Subscription::setSender(), and MidiPort::unsubscribe().
| void unsubscribeFrom | ( | PortInfo * | port | ) |
Unsubscribe a source port.
| port | A PortInfo object pointer |
Definition at line 847 of file alsaport.cpp.
References PortInfo::getAddr(), MidiClient::getHandle(), Subscription::setDest(), Subscription::setSender(), and MidiPort::unsubscribe().
| void unsubscribeFrom | ( | QString const & | name | ) |
Unsubscribe a source port.
| name | A string representing a client:port pair |
Definition at line 828 of file alsaport.cpp.
References PortInfo::getAddr(), MidiClient::getHandle(), MidiClient::parseAddress(), Subscription::setDest(), Subscription::setSender(), and MidiPort::unsubscribe().
Referenced by MidiPort::updateConnectionsFrom().
| void unsubscribeTo | ( | const snd_seq_addr_t * | addr | ) |
Unsubscribe a destination port.
| addr | An ALSA address record pointer |
Definition at line 763 of file alsaport.cpp.
References PortInfo::getAddr(), MidiClient::getHandle(), Subscription::setDest(), Subscription::setSender(), and MidiPort::unsubscribe().
| void unsubscribeTo | ( | PortInfo * | port | ) |
Unsubscribe a destination port.
| port | A PortInfo object pointer |
Definition at line 747 of file alsaport.cpp.
References PortInfo::getAddr(), MidiClient::getHandle(), Subscription::setDest(), Subscription::setSender(), and MidiPort::unsubscribe().
| void unsubscribeTo | ( | QString const & | name | ) |
Unsubscribe a destination port.
| name | A string representing a client:port pair |
Definition at line 728 of file alsaport.cpp.
References PortInfo::getAddr(), MidiClient::getHandle(), MidiClient::parseAddress(), Subscription::setDest(), Subscription::setSender(), and MidiPort::unsubscribe().
Referenced by MidiPort::updateConnectionsTo().
| void updateConnectionsFrom | ( | const PortInfoList & | ports | ) |
Update the read susbcriptions.
| ports | List of readable ports to be subscribed |
Definition at line 1251 of file alsaport.cpp.
References MidiPort::containsAddress(), PortInfo::getAddr(), MidiPort::getWriteSubscribers(), MidiPort::subscribeFrom(), and MidiPort::unsubscribeFrom().
| void updateConnectionsTo | ( | const PortInfoList & | ports | ) |
Update the write subscriptions.
| ports | List of writable ports to be subscribed |
Definition at line 1228 of file alsaport.cpp.
References MidiPort::containsAddress(), PortInfo::getAddr(), MidiPort::getReadSubscribers(), MidiPort::subscribeTo(), and MidiPort::unsubscribeTo().