From 80a58df12435ad97493497c69f3d62816df4e865 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 26 Jan 2014 09:59:25 +0100 Subject: [PATCH] MidiPort: coding style improvements --- include/MidiPort.h | 47 +++++---- src/core/midi/MidiPort.cpp | 207 +++++++++++++++++-------------------- 2 files changed, 117 insertions(+), 137 deletions(-) diff --git a/include/MidiPort.h b/include/MidiPort.h index c407f1f8f..767dc932e 100644 --- a/include/MidiPort.h +++ b/include/MidiPort.h @@ -73,34 +73,35 @@ public: Output, // from MIDI-event-processor to MIDI-client Duplex // both directions } ; + typedef Modes Mode; - MidiPort( const QString & _name, - MidiClient * _mc, - MidiEventProcessor * _mep, - Model * _parent = NULL, - Modes _mode = Disabled ); + MidiPort( const QString& name, + MidiClient* client, + MidiEventProcessor* eventProcessor, + Model* parent = NULL, + Mode mode = Disabled ); virtual ~MidiPort(); - void setName( const QString & _name ); + void setName( const QString& name ); - inline Modes mode() const + Mode mode() const { return m_mode; } - void setMode( Modes _mode ); + void setMode( Mode mode ); - inline bool inputEnabled() const + bool isInputEnabled() const { return mode() == Input || mode() == Duplex; } - inline bool outputEnabled() const + bool isOutputEnabled() const { return mode() == Output || mode() == Duplex; } - inline int realOutputChannel() const + int realOutputChannel() const { return outputChannel() - 1; } @@ -109,31 +110,29 @@ public: void processOutEvent( const MidiEvent& event, const MidiTime& time = MidiTime() ); - virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent ); - virtual void loadSettings( const QDomElement & _this ); + virtual void saveSettings( QDomDocument& doc, QDomElement& thisElement ); + virtual void loadSettings( const QDomElement& thisElement ); virtual QString nodeName() const { return "midiport"; } - void subscribeReadablePort( const QString & _port, - bool _subscribe = true ); - void subscribeWritablePort( const QString & _port, - bool _subscribe = true ); + void subscribeReadablePort( const QString& port, bool subscribe = true ); + void subscribeWritablePort( const QString& port, bool subscribe = true ); - const Map & readablePorts() const + const Map& readablePorts() const { return m_readablePorts; } - const Map & writablePorts() const + const Map& writablePorts() const { return m_writablePorts; } - MidiPortMenu * m_readablePortsMenu; - MidiPortMenu * m_writablePortsMenu; + MidiPortMenu* m_readablePortsMenu; + MidiPortMenu* m_writablePortsMenu; public slots: @@ -147,10 +146,10 @@ private slots: private: - MidiClient * m_midiClient; - MidiEventProcessor * m_midiEventProcessor; + MidiClient* m_midiClient; + MidiEventProcessor* m_midiEventProcessor; - Modes m_mode; + Mode m_mode; IntModel m_inputChannelModel; IntModel m_outputChannelModel; diff --git a/src/core/midi/MidiPort.cpp b/src/core/midi/MidiPort.cpp index c798fd265..ffa2c97dd 100644 --- a/src/core/midi/MidiPort.cpp +++ b/src/core/midi/MidiPort.cpp @@ -31,31 +31,25 @@ -MidiPort::MidiPort( const QString & _name, MidiClient * _mc, - MidiEventProcessor * _mep, Model * _parent, - Modes _mode ) : - Model( _parent ), +MidiPort::MidiPort( const QString& name, + MidiClient* client, + MidiEventProcessor* eventProcessor, + Model* parent, + Mode mode ) : + Model( parent ), m_readablePortsMenu( NULL ), m_writablePortsMenu( NULL ), - m_midiClient( _mc ), - m_midiEventProcessor( _mep ), - m_mode( _mode ), - m_inputChannelModel( 0, 0, MidiChannelCount, this, - tr( "Input channel" ) ), - m_outputChannelModel( 1, 1, MidiChannelCount, this, - tr( "Output channel" ) ), - m_inputControllerModel( 0, 0, MidiControllerCount, this, - tr( "Input controller" ) ), - m_outputControllerModel( 0, 0, MidiControllerCount, this, - tr( "Output controller" ) ), - m_fixedInputVelocityModel( -1, -1, MidiMaxVelocity, this, - tr( "Fixed input velocity" ) ), - m_fixedOutputVelocityModel( -1, -1, MidiMaxVelocity, this, - tr( "Fixed output velocity" ) ), - m_fixedOutputNoteModel( -1, -1, MidiMaxNote, this, - tr( "Fixed output note" ) ), - m_outputProgramModel( 1, 1, MidiProgramCount, this, - tr( "Output MIDI program" ) ), + m_midiClient( client ), + m_midiEventProcessor( eventProcessor ), + m_mode( mode ), + m_inputChannelModel( 0, 0, MidiChannelCount, this, tr( "Input channel" ) ), + m_outputChannelModel( 1, 1, MidiChannelCount, this, tr( "Output channel" ) ), + m_inputControllerModel( 0, 0, MidiControllerCount, this, tr( "Input controller" ) ), + m_outputControllerModel( 0, 0, MidiControllerCount, this, tr( "Output controller" ) ), + m_fixedInputVelocityModel( -1, -1, MidiMaxVelocity, this, tr( "Fixed input velocity" ) ), + m_fixedOutputVelocityModel( -1, -1, MidiMaxVelocity, this, tr( "Fixed output velocity" ) ), + m_fixedOutputNoteModel( -1, -1, MidiMaxNote, this, tr( "Fixed output note" ) ), + m_outputProgramModel( 1, 1, MidiProgramCount, this, tr( "Output MIDI program" ) ), m_readableModel( false, this, tr( "Receive MIDI-events" ) ), m_writableModel( false, this, tr( "Send MIDI-events" ) ) { @@ -64,12 +58,9 @@ MidiPort::MidiPort( const QString & _name, MidiClient * _mc, m_readableModel.setValue( m_mode == Input || m_mode == Duplex ); m_writableModel.setValue( m_mode == Output || m_mode == Duplex ); - connect( &m_readableModel, SIGNAL( dataChanged() ), - this, SLOT( updateMidiPortMode() ) ); - connect( &m_writableModel, SIGNAL( dataChanged() ), - this, SLOT( updateMidiPortMode() ) ); - connect( &m_outputProgramModel, SIGNAL( dataChanged() ), - this, SLOT( updateOutputProgram() ) ); + connect( &m_readableModel, SIGNAL( dataChanged() ), this, SLOT( updateMidiPortMode() ) ); + connect( &m_writableModel, SIGNAL( dataChanged() ), this, SLOT( updateMidiPortMode() ) ); + connect( &m_outputProgramModel, SIGNAL( dataChanged() ), this, SLOT( updateOutputProgram() ) ); // when using with non-raw-clients we can provide buttons showing @@ -80,10 +71,8 @@ MidiPort::MidiPort( const QString & _name, MidiClient * _mc, updateWritablePorts(); // we want to get informed about port-changes! - m_midiClient->connectRPChanged( this, - SLOT( updateReadablePorts() ) ); - m_midiClient->connectWPChanged( this, - SLOT( updateWritablePorts() ) ); + m_midiClient->connectRPChanged( this, SLOT( updateReadablePorts() ) ); + m_midiClient->connectWPChanged( this, SLOT( updateWritablePorts() ) ); } updateMidiPortMode(); @@ -105,18 +94,18 @@ MidiPort::~MidiPort() -void MidiPort::setName( const QString & _name ) +void MidiPort::setName( const QString& name ) { - setDisplayName( _name ); + setDisplayName( name ); m_midiClient->applyPortName( this ); } -void MidiPort::setMode( Modes _mode ) +void MidiPort::setMode( Mode mode ) { - m_mode = _mode; + m_mode = mode; m_midiClient->applyPortMode( this ); } @@ -126,7 +115,7 @@ void MidiPort::setMode( Modes _mode ) void MidiPort::processInEvent( const MidiEvent& event, const MidiTime& time ) { // mask event - if( inputEnabled() && + if( isInputEnabled() && ( inputChannel() == 0 || inputChannel()-1 == event.channel() ) ) { MidiEvent inEvent = event; @@ -156,7 +145,7 @@ void MidiPort::processInEvent( const MidiEvent& event, const MidiTime& time ) void MidiPort::processOutEvent( const MidiEvent& event, const MidiTime& time ) { // mask event - if( outputEnabled() && realOutputChannel() == event.channel() ) + if( isOutputEnabled() && realOutputChannel() == event.channel() ) { MidiEvent outEvent = event; @@ -181,27 +170,23 @@ void MidiPort::processOutEvent( const MidiEvent& event, const MidiTime& time ) -void MidiPort::saveSettings( QDomDocument & _doc, QDomElement & _this ) +void MidiPort::saveSettings( QDomDocument& doc, QDomElement& thisElement ) { - m_inputChannelModel.saveSettings( _doc, _this, "inputchannel" ); - m_outputChannelModel.saveSettings( _doc, _this, "outputchannel" ); - m_inputControllerModel.saveSettings( _doc, _this, "inputcontroller" ); - m_outputControllerModel.saveSettings( _doc, _this, "outputcontroller" ); - m_fixedInputVelocityModel.saveSettings( _doc, _this, - "fixedinputvelocity" ); - m_fixedOutputVelocityModel.saveSettings( _doc, _this, - "fixedoutputvelocity" ); - m_fixedOutputNoteModel.saveSettings( _doc, _this, - "fixedoutputnote" ); - m_outputProgramModel.saveSettings( _doc, _this, "outputprogram" ); - m_readableModel.saveSettings( _doc, _this, "readable" ); - m_writableModel.saveSettings( _doc, _this, "writable" ); + m_inputChannelModel.saveSettings( doc, thisElement, "inputchannel" ); + m_outputChannelModel.saveSettings( doc, thisElement, "outputchannel" ); + m_inputControllerModel.saveSettings( doc, thisElement, "inputcontroller" ); + m_outputControllerModel.saveSettings( doc, thisElement, "outputcontroller" ); + m_fixedInputVelocityModel.saveSettings( doc, thisElement, "fixedinputvelocity" ); + m_fixedOutputVelocityModel.saveSettings( doc, thisElement, "fixedoutputvelocity" ); + m_fixedOutputNoteModel.saveSettings( doc, thisElement, "fixedoutputnote" ); + m_outputProgramModel.saveSettings( doc, thisElement, "outputprogram" ); + m_readableModel.saveSettings( doc, thisElement, "readable" ); + m_writableModel.saveSettings( doc, thisElement, "writable" ); - if( inputEnabled() ) + if( isInputEnabled() ) { QString rp; - for( Map::ConstIterator it = m_readablePorts.begin(); - it != m_readablePorts.end(); ++it ) + for( Map::ConstIterator it = m_readablePorts.begin(); it != m_readablePorts.end(); ++it ) { if( it.value() ) { @@ -213,14 +198,13 @@ void MidiPort::saveSettings( QDomDocument & _doc, QDomElement & _this ) { rp.truncate( rp.length() - 1 ); } - _this.setAttribute( "inports", rp ); + thisElement.setAttribute( "inports", rp ); } - if( outputEnabled() ) + if( isOutputEnabled() ) { QString wp; - for( Map::ConstIterator it = m_writablePorts.begin(); - it != m_writablePorts.end(); ++it ) + for( Map::ConstIterator it = m_writablePorts.begin(); it != m_writablePorts.end(); ++it ) { if( it.value() ) { @@ -232,32 +216,31 @@ void MidiPort::saveSettings( QDomDocument & _doc, QDomElement & _this ) { wp.truncate( wp.length() - 1 ); } - _this.setAttribute( "outports", wp ); + thisElement.setAttribute( "outports", wp ); } } -void MidiPort::loadSettings( const QDomElement & _this ) +void MidiPort::loadSettings( const QDomElement& thisElement ) { - m_inputChannelModel.loadSettings( _this, "inputchannel" ); - m_outputChannelModel.loadSettings( _this, "outputchannel" ); - m_inputControllerModel.loadSettings( _this, "inputcontroller" ); - m_outputControllerModel.loadSettings( _this, "outputcontroller" ); - m_fixedInputVelocityModel.loadSettings( _this, "fixedinputvelocity" ); - m_fixedOutputVelocityModel.loadSettings( _this, "fixedoutputvelocity" ); - m_outputProgramModel.loadSettings( _this, "outputprogram" ); - m_readableModel.loadSettings( _this, "readable" ); - m_writableModel.loadSettings( _this, "writable" ); + m_inputChannelModel.loadSettings( thisElement, "inputchannel" ); + m_outputChannelModel.loadSettings( thisElement, "outputchannel" ); + m_inputControllerModel.loadSettings( thisElement, "inputcontroller" ); + m_outputControllerModel.loadSettings( thisElement, "outputcontroller" ); + m_fixedInputVelocityModel.loadSettings( thisElement, "fixedinputvelocity" ); + m_fixedOutputVelocityModel.loadSettings( thisElement, "fixedoutputvelocity" ); + m_outputProgramModel.loadSettings( thisElement, "outputprogram" ); + m_readableModel.loadSettings( thisElement, "readable" ); + m_writableModel.loadSettings( thisElement, "writable" ); // restore connections - if( inputEnabled() ) + if( isInputEnabled() ) { - QStringList rp = _this.attribute( "inports" ).split( ',' ); - for( Map::ConstIterator it = m_readablePorts.begin(); - it != m_readablePorts.end(); ++it ) + QStringList rp = thisElement.attribute( "inports" ).split( ',' ); + for( Map::ConstIterator it = m_readablePorts.begin(); it != m_readablePorts.end(); ++it ) { if( it.value() != ( rp.indexOf( it.key() ) != -1 ) ) { @@ -267,11 +250,10 @@ void MidiPort::loadSettings( const QDomElement & _this ) emit readablePortsChanged(); } - if( outputEnabled() ) + if( isOutputEnabled() ) { - QStringList wp = _this.attribute( "outports" ).split( ',' ); - for( Map::ConstIterator it = m_writablePorts.begin(); - it != m_writablePorts.end(); ++it ) + QStringList wp = thisElement.attribute( "outports" ).split( ',' ); + for( Map::ConstIterator it = m_writablePorts.begin(); it != m_writablePorts.end(); ++it ) { if( it.value() != ( wp.indexOf( it.key() ) != -1 ) ) { @@ -285,35 +267,38 @@ void MidiPort::loadSettings( const QDomElement & _this ) -void MidiPort::subscribeReadablePort( const QString & _port, bool _subscribe ) +void MidiPort::subscribeReadablePort( const QString& port, bool subscribe ) { - m_readablePorts[_port] = _subscribe; + m_readablePorts[port] = subscribe; + // make sure, MIDI-port is configured for input - if( _subscribe == true && !inputEnabled() ) + if( subscribe == true && !isInputEnabled() ) { m_readableModel.setValue( true ); } - m_midiClient->subscribeReadablePort( this, _port, _subscribe ); + + m_midiClient->subscribeReadablePort( this, port, subscribe ); } -void MidiPort::subscribeWritablePort( const QString & _port, bool _subscribe ) +void MidiPort::subscribeWritablePort( const QString& port, bool subscribe ) { - m_writablePorts[_port] = _subscribe; + m_writablePorts[port] = subscribe; + // make sure, MIDI-port is configured for output - if( _subscribe == true && !outputEnabled() ) + if( subscribe == true && !isOutputEnabled() ) { m_writableModel.setValue( true ); } - m_midiClient->subscribeWritablePort( this, _port, _subscribe ); + m_midiClient->subscribeWritablePort( this, port, subscribe ); } -void MidiPort::updateMidiPortMode( void ) +void MidiPort::updateMidiPortMode() { // this small lookup-table makes everything easier static const Modes modeTable[2][2] = @@ -324,10 +309,9 @@ void MidiPort::updateMidiPortMode( void ) setMode( modeTable[m_readableModel.value()][m_writableModel.value()] ); // check whether we have to dis-check items in connection-menu - if( !inputEnabled() ) + if( !isInputEnabled() ) { - for( Map::ConstIterator it = m_readablePorts.begin(); - it != m_readablePorts.end(); ++it ) + for( Map::ConstIterator it = m_readablePorts.begin(); it != m_readablePorts.end(); ++it ) { // subscribed? if( it.value() ) @@ -337,10 +321,9 @@ void MidiPort::updateMidiPortMode( void ) } } - if( !outputEnabled() ) + if( !isOutputEnabled() ) { - for( Map::ConstIterator it = m_writablePorts.begin(); - it != m_writablePorts.end(); ++it ) + for( Map::ConstIterator it = m_writablePorts.begin(); it != m_writablePorts.end(); ++it ) { // subscribed? if( it.value() ) @@ -360,42 +343,41 @@ void MidiPort::updateMidiPortMode( void ) -void MidiPort::updateReadablePorts( void ) +void MidiPort::updateReadablePorts() { // first save all selected ports - QStringList selected_ports; - for( Map::ConstIterator it = m_readablePorts.begin(); - it != m_readablePorts.end(); ++it ) + QStringList selectedPorts; + for( Map::ConstIterator it = m_readablePorts.begin(); it != m_readablePorts.end(); ++it ) { - if( it.value() == true ) + if( it.value() ) { - selected_ports.push_back( it.key() ); + selectedPorts.push_back( it.key() ); } } m_readablePorts.clear(); - const QStringList & wp = m_midiClient->readablePorts(); + const QStringList& wp = m_midiClient->readablePorts(); // now insert new ports and restore selections for( QStringList::ConstIterator it = wp.begin(); it != wp.end(); ++it ) { - m_readablePorts[*it] = ( selected_ports.indexOf( *it ) != -1 ); + m_readablePorts[*it] = ( selectedPorts.indexOf( *it ) != -1 ); } + emit readablePortsChanged(); } -void MidiPort::updateWritablePorts( void ) +void MidiPort::updateWritablePorts() { // first save all selected ports - QStringList selected_ports; - for( Map::ConstIterator it = m_writablePorts.begin(); - it != m_writablePorts.end(); ++it ) + QStringList selectedPorts; + for( Map::ConstIterator it = m_writablePorts.begin(); it != m_writablePorts.end(); ++it ) { - if( it.value() == true ) + if( it.value() ) { - selected_ports.push_back( it.key() ); + selectedPorts.push_back( it.key() ); } } @@ -404,19 +386,18 @@ void MidiPort::updateWritablePorts( void ) // now insert new ports and restore selections for( QStringList::ConstIterator it = wp.begin(); it != wp.end(); ++it ) { - m_writablePorts[*it] = ( selected_ports.indexOf( *it ) != -1 ); + m_writablePorts[*it] = ( selectedPorts.indexOf( *it ) != -1 ); } + emit writablePortsChanged(); } -void MidiPort::updateOutputProgram( void ) +void MidiPort::updateOutputProgram() { - processOutEvent( MidiEvent( MidiProgramChange, - realOutputChannel(), - outputProgram()-1 ), MidiTime( 0 ) ); + processOutEvent( MidiEvent( MidiProgramChange, realOutputChannel(), outputProgram()-1 ) ); }