Added global playback support. Press space to play/pause from any window in LMMS.

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1993 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Andrew Kelley
2009-02-02 07:55:52 +00:00
parent 59d2e07da0
commit 3341f3d711
9 changed files with 210 additions and 30 deletions

View File

@@ -36,6 +36,8 @@ class QDomElement;
class QGridLayout;
class QHBoxLayout;
class QMdiArea;
class QCheckBox;
class QRadioButton;
class lcdSpinBox;
class meterDialog;
@@ -46,7 +48,12 @@ class configManager;
class pluginView;
class toolButton;
enum ProjectPlaybackMode
{
PPM_Song = 0,
PPM_BB = 1,
PPM_PianoRoll
};
class mainWindow : public QMainWindow
{
@@ -92,6 +99,13 @@ public:
static void saveWidgetState( QWidget * _w, QDomElement & _de );
static void restoreWidgetState( QWidget * _w, const QDomElement & _de );
inline ProjectPlaybackMode playbackMode() const
{
return m_playbackMode;
}
void setPlaybackMode( ProjectPlaybackMode _playbackMode );
public slots:
void resetWindowTitle( void );
@@ -145,7 +159,14 @@ private:
QWidget * m_toolBar;
QHBoxLayout * m_toolBarLayout;
QCheckBox * m_chkrAudio;
QCheckBox * m_chkrAutomation;
QCheckBox * m_chkrMidi;
QRadioButton * m_radpSong;
QRadioButton * m_radpBB;
QRadioButton * m_radpPianoRoll;
ProjectPlaybackMode m_playbackMode;
lcdSpinBox * m_tempoSpinBox;
meterDialog * m_timeSigDisplay;
@@ -200,6 +221,14 @@ private slots:
void showTool( QAction * _idx );
void updateRecentlyOpenedProjectsMenu( void );
void playbackSongClicked( bool );
void playbackBBClicked( bool );
void playbackPianoRollClicked( bool );
void spacePressed( void );
void play( void );
void record( void );
void playAndRecord( void );
signals:
void periodicUpdate( void );

View File

@@ -81,6 +81,11 @@ public:
{
return "pianoroll";
}
public slots:
void play( void );
void record( void );
void recordAccompany( void );
void stop( void );
protected:
@@ -105,11 +110,7 @@ protected:
protected slots:
void play( void );
void record( void );
void recordAccompany( void );
void stop( void );
void recordNote( const note & _n );
void horScrolled( int _new_pos );

View File

@@ -58,16 +58,16 @@ public:
public slots:
void scrolled( int _new_pos );
private slots:
void play( void );
void record( void );
void recordAccompany( void );
void stop( void );
void updatePosition( const midiTime & _t );
private slots:
void updatePosition( const midiTime & _t );
void zoomingChanged( void );