add model.displayName and add midi-seq support to midiController

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1078 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Paul Giblock
2008-06-06 06:15:17 +00:00
parent acba64f092
commit 0aeddf27ff
24 changed files with 327 additions and 71 deletions

View File

@@ -38,7 +38,8 @@ class EXPORT automatableButton : public QPushButton, public boolModelView
{
Q_OBJECT
public:
automatableButton( QWidget * _parent, const QString & _name );
automatableButton( QWidget * _parent, const QString & _name
= QString::null );
virtual ~automatableButton();
inline void setCheckable( bool _on )
@@ -82,7 +83,8 @@ class EXPORT automatableButtonGroup : public QWidget, public intModelView
{
Q_OBJECT
public:
automatableButtonGroup( QWidget * _parent, const QString & _name );
automatableButtonGroup( QWidget * _parent, const QString & _name
= QString::null );
virtual ~automatableButtonGroup();
void addButton( automatableButton * _btn );

View File

@@ -35,6 +35,7 @@
#include <QtCore/QPointer>
#include <QtCore/QObject>
#include <QtCore/QString>
class track;
@@ -84,6 +85,7 @@ public:
const float _max = 0,
const float _step = 0,
::model * _parent = NULL,
const QString & _display_name = QString::null,
bool _default_constructed = FALSE );
virtual ~automatableModel();
@@ -248,6 +250,17 @@ public:
return( 0 );
}*/
virtual QString displayName( void ) const
{
return m_displayName;
}
virtual void setDisplayName( const QString & _display_name )
{
m_displayName = _display_name;
}
public slots:
virtual void reset( void );
@@ -275,6 +288,7 @@ private:
// most objects will need this temporarily
float m_oldValue;
bool m_journalEntryReady;
QString m_displayName;
typedef QVector<automatableModel *> autoModelVector;
autoModelVector m_linkedModels;
@@ -320,9 +334,10 @@ class floatModel : public automatableModel
public:
floatModel( float _val = 0, float _min = 0, float _max = 0,
float _step = 0, ::model * _parent = NULL,
const QString & _display_name = QString::null,
bool _default_constructed = FALSE ) :
automatableModel( Float, _val, _min, _max, _step,
_parent, _default_constructed )
_parent, _display_name, _default_constructed )
{
}
@@ -336,9 +351,10 @@ class intModel : public automatableModel
public:
intModel( int _val = 0, int _min = 0, int _max = 0,
::model * _parent = NULL,
const QString & _display_name = QString::null,
bool _default_constructed = FALSE ) :
automatableModel( Integer, _val, _min, _max, 1,
_parent, _default_constructed )
_parent, _display_name, _default_constructed )
{
}
@@ -352,9 +368,10 @@ class boolModel : public automatableModel
public:
boolModel( const bool _val = FALSE,
::model * _parent = NULL,
const QString & _display_name = QString::null,
bool _default_constructed = FALSE ) :
automatableModel( Bool, _val, FALSE, TRUE, 1,
_parent, _default_constructed )
_parent, _display_name, _default_constructed )
{
}

View File

@@ -55,6 +55,8 @@ public:
return( castModel<automatableModel>() );
}
virtual void setModel( model * _model, bool _old_model_valid = TRUE );
template<typename T>
inline T value( void ) const
{

View File

@@ -37,7 +37,7 @@ class automatableSlider : public QSlider, public intModelView
{
Q_OBJECT
public:
automatableSlider( QWidget * _parent, const QString & _name );
automatableSlider( QWidget * _parent, const QString & _name = QString::null );
virtual ~automatableSlider();
bool showStatus( void )

View File

@@ -38,6 +38,7 @@
#include "journalling_object.h"
class controllerConnection;
class QString;
typedef QVector<controllerConnection *> controllerConnectionVector;
@@ -65,6 +66,13 @@ public:
return m_controller->currentValue( _offset );
}
inline void setTargetName( const QString & _name );
inline QString targetName( void ) const
{
return m_targetName;
}
inline bool isFinalized( void )
{
return m_controllerId < 0;
@@ -78,9 +86,10 @@ public:
protected:
//virtual controllerDialog * createDialog( QWidget * _parent );
controller * m_controller;
int m_controllerId;
QString m_targetName;
int m_controllerId;
bool m_ownsController;
static controllerConnectionVector s_connections;

View File

@@ -51,7 +51,7 @@ class controllerConnectionDialog : public QDialog
Q_OBJECT
public:
controllerConnectionDialog( QWidget * _parent,
controllerConnection * _connection = NULL );
const automatableModel * _target_model );
virtual ~controllerConnectionDialog();
controller * chosenController( void )
@@ -66,8 +66,12 @@ public slots:
void userToggled( void );
void autoDetectToggled( void );
protected slots:
void midiValueChanged( void );
void activatedReadablePort( QAction * _item );
void updateReadablePortsMenu( void );
private:
groupBox * m_midiGroupBox;
@@ -75,6 +79,7 @@ private:
lcdSpinBox * m_midiControllerSpinBox;
ledCheckBox * m_midiAutoDetectCheckBox;
boolModel m_midiAutoDetect;
QMenu * m_readablePorts;
groupBox * m_userGroupBox;
comboBox * m_userController;
@@ -82,6 +87,7 @@ private:
QLineEdit * m_mappingFunction;
controller * m_controller;
const automatableModel * m_targetModel;
// Temporary midiController
autoDetectMidiController * m_midiController;

View File

@@ -63,7 +63,7 @@ class EXPORT knob : public QWidget, public floatModelView
Q_PROPERTY(QColor outerColor READ outerColor WRITE setOuterColor)
public:
knob( int _knob_num, QWidget * _parent, const QString & _name );
knob( int _knob_num, QWidget * _parent, const QString & _name = QString::null );
virtual ~knob();
// TODO: remove

View File

@@ -26,6 +26,7 @@
#define _MIDI_CONTROLLER_H
#include <QtGui/QWidget>
#include <QtCore/QMap>
#include "mv_base.h"
#include "automatable_model.h"
@@ -41,6 +42,8 @@ class midiController : public controller, public midiEventProcessor
{
Q_OBJECT
public:
typedef QMap<QString, bool> midiPortMap;
midiController( model * _parent );
virtual ~midiController();
@@ -76,10 +79,18 @@ public:
return &m_midiController;
}
virtual midiPort * getMidiPort( void )
{
return m_midiPort;
}
// Used by controllerConnectionDialog to copy
virtual void setReadablePorts( const midiPortMap & _map );
public slots:
virtual controllerDialog * createDialog( QWidget * _parent );
void updateMidiPort();
void updateMidiPort( void );
void updateReadablePorts( void );
protected:
@@ -90,9 +101,11 @@ protected:
intModel m_midiController;
midiPort * m_midiPort;
midiPortMap m_readablePorts;
float m_lastValue;
friend class controllerConnectionDialog;
};

View File

@@ -55,21 +55,16 @@ public:
virtual QString displayName( void ) const
{
printf("displayName() Returned: %s\n", qPrintable(m_displayName) );
return m_displayName;
return QString();
}
void setDisplayName( const QString & _displayName )
{
printf("setDisplayName() 1: %s ", qPrintable(_displayName));
m_displayName = _displayName;
printf("setDisplayName() 2: %s\n", qPrintable(m_displayName));
}
private:
bool m_defaultConstructed;
QString m_displayName;
signals:
// emitted if actual data of the model (e.g. values) have changed

View File

@@ -35,7 +35,7 @@ class EXPORT pixmapButton : public automatableButton
{
Q_OBJECT
public:
pixmapButton( QWidget * _parent, const QString & _name );
pixmapButton( QWidget * _parent, const QString & _name = QString::null );
virtual ~pixmapButton();
void setActiveGraphic( const QPixmap & _pm );

View File

@@ -57,7 +57,8 @@ public:
tempoSyncKnobModel( const float _val, const float _min,
const float _max, const float _step,
const float _scale, ::model * _parent );
const float _scale, ::model * _parent,
const QString & _display_name = QString::null );
virtual ~tempoSyncKnobModel();
virtual void saveSettings( QDomDocument & _doc,
@@ -106,7 +107,7 @@ class tempoSyncKnob : public knob
Q_OBJECT
public:
tempoSyncKnob( int _knob_num, QWidget * _parent,
const QString & _name );
const QString & _name = QString::null );
virtual ~tempoSyncKnob();
const QString & getSyncDescription( void );

View File

@@ -34,7 +34,7 @@ class EXPORT volumeKnob : public knob
{
Q_OBJECT
public:
volumeKnob( int _knob_num, QWidget * _parent, const QString & _name );
volumeKnob( int _knob_num, QWidget * _parent, const QString & _name = QString::null );
virtual ~volumeKnob();