Move play, record and stop signals to superclass
This commit is contained in:
@@ -41,6 +41,12 @@ class Editor : public QMainWindow
|
||||
public:
|
||||
void setPauseIcon(bool displayPauseIcon=true);
|
||||
|
||||
protected slots:
|
||||
virtual void play();
|
||||
virtual void record();
|
||||
virtual void recordAccompany();
|
||||
virtual void stop();
|
||||
|
||||
signals:
|
||||
|
||||
protected:
|
||||
|
||||
@@ -65,10 +65,7 @@ public:
|
||||
};
|
||||
|
||||
SongEditor( Song * _song );
|
||||
virtual ~SongEditor();
|
||||
|
||||
void setPauseIcon( bool pause );
|
||||
|
||||
~SongEditor();
|
||||
|
||||
public slots:
|
||||
void scrolled( int _new_pos );
|
||||
@@ -81,11 +78,6 @@ public slots:
|
||||
private slots:
|
||||
void setHighQuality( bool );
|
||||
|
||||
void play();
|
||||
void record();
|
||||
void recordAccompany();
|
||||
void stop();
|
||||
|
||||
void masterVolumeChanged( int _new_val );
|
||||
void masterVolumePressed();
|
||||
void masterVolumeMoved( int _new_val );
|
||||
@@ -114,12 +106,6 @@ private:
|
||||
|
||||
QScrollBar * m_leftRightScroll;
|
||||
|
||||
QWidget * m_toolBar;
|
||||
|
||||
ToolButton * m_playButton;
|
||||
ToolButton * m_recordButton;
|
||||
ToolButton * m_recordAccompanyButton;
|
||||
ToolButton * m_stopButton;
|
||||
LcdSpinBox * m_tempoSpinBox;
|
||||
|
||||
Timeline * m_timeLine;
|
||||
@@ -152,6 +138,12 @@ public:
|
||||
|
||||
SongEditor* m_editor;
|
||||
|
||||
protected slots:
|
||||
void play();
|
||||
void record();
|
||||
void recordAccompany();
|
||||
void stop();
|
||||
|
||||
private:
|
||||
ToolButton * m_addBBTrackButton;
|
||||
ToolButton * m_addSampleTrackButton;
|
||||
|
||||
@@ -2040,11 +2040,6 @@ AutomationEditorWindow::AutomationEditorWindow() :
|
||||
tr( "Click here if you want to stop playing of the "
|
||||
"current pattern." ) );
|
||||
|
||||
// Set up signals)
|
||||
connect(m_playButton, SIGNAL(clicked()), this, SLOT(play()));
|
||||
connect(m_stopButton, SIGNAL(clicked()), this, SLOT(stop()));
|
||||
|
||||
|
||||
// Edit mode buttons
|
||||
|
||||
m_drawButton = new ToolButton(embed::getIconPixmap( "edit_draw" ),
|
||||
|
||||
@@ -39,6 +39,22 @@ void Editor::setPauseIcon(bool displayPauseIcon)
|
||||
m_playButton->setIcon(embed::getIconPixmap("play"));
|
||||
}
|
||||
|
||||
void Editor::play()
|
||||
{
|
||||
}
|
||||
|
||||
void Editor::record()
|
||||
{
|
||||
}
|
||||
|
||||
void Editor::recordAccompany()
|
||||
{
|
||||
}
|
||||
|
||||
void Editor::stop()
|
||||
{
|
||||
}
|
||||
|
||||
Editor::Editor(bool record) :
|
||||
m_toolBar(new QToolBar(this)),
|
||||
m_playButton(nullptr),
|
||||
@@ -46,6 +62,8 @@ Editor::Editor(bool record) :
|
||||
m_recordAccompanyButton(nullptr),
|
||||
m_stopButton(nullptr)
|
||||
{
|
||||
m_toolBar->setContextMenuPolicy(Qt::PreventContextMenu);
|
||||
|
||||
auto addButton = [this](const char* pixmap_name, QString text, QString objectName) {
|
||||
ToolButton* button = new ToolButton(embed::getIconPixmap(pixmap_name), text);
|
||||
button->setObjectName(objectName);
|
||||
@@ -55,11 +73,12 @@ Editor::Editor(bool record) :
|
||||
|
||||
// Set up play button
|
||||
m_playButton = addButton("play", tr("Play (Space)"), "playButton");
|
||||
m_playButton->setShortcut(Qt::Key_Space);
|
||||
|
||||
// Set up record buttons if wanted
|
||||
if (record)
|
||||
{
|
||||
m_recordButton= addButton("record", tr("Record"), "recordButton");
|
||||
m_recordButton = addButton("record", tr("Record"), "recordButton");
|
||||
m_recordAccompanyButton = addButton("record_accompany", tr("Record while playing"), "recordAccompanyButton");
|
||||
}
|
||||
|
||||
@@ -68,6 +87,15 @@ Editor::Editor(bool record) :
|
||||
|
||||
// Add toolbar to window
|
||||
addToolBar(Qt::TopToolBarArea, m_toolBar);
|
||||
|
||||
// Set up connections
|
||||
connect(m_playButton, SIGNAL(clicked()), this, SLOT(play()));
|
||||
if (record)
|
||||
{
|
||||
connect(m_recordButton, SIGNAL(clicked()), this, SLOT(record()));
|
||||
connect(m_recordAccompanyButton, SIGNAL(clicked()), this, SLOT(recordAccompany()));
|
||||
}
|
||||
connect(m_stopButton, SIGNAL(clicked()), this, SLOT(stop()));
|
||||
}
|
||||
|
||||
Editor::~Editor()
|
||||
|
||||
@@ -299,61 +299,6 @@ void SongEditor::setModeEdit()
|
||||
|
||||
|
||||
|
||||
void SongEditor::setPauseIcon( bool pause )
|
||||
{
|
||||
if( pause == true )
|
||||
{
|
||||
m_playButton->setIcon( embed::getIconPixmap( "pause" ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_playButton->setIcon( embed::getIconPixmap( "play" ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SongEditor::play()
|
||||
{
|
||||
if( Engine::getSong()->playMode() != Song::Mode_PlaySong )
|
||||
{
|
||||
Engine::getSong()->playSong();
|
||||
}
|
||||
else
|
||||
{
|
||||
Engine::getSong()->togglePause();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SongEditor::record()
|
||||
{
|
||||
m_song->record();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SongEditor::recordAccompany()
|
||||
{
|
||||
m_song->playAndRecord();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SongEditor::stop()
|
||||
{
|
||||
m_song->stop();
|
||||
Engine::pianoRoll()->stopRecording();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SongEditor::keyPressEvent( QKeyEvent * _ke )
|
||||
{
|
||||
if( /*_ke->modifiers() & Qt::ShiftModifier*/
|
||||
@@ -384,17 +329,6 @@ void SongEditor::keyPressEvent( QKeyEvent * _ke )
|
||||
m_song->setPlayPos( t, Song::Mode_PlaySong );
|
||||
}
|
||||
}
|
||||
else if( _ke->key() == Qt::Key_Space )
|
||||
{
|
||||
if( m_song->isPlaying() )
|
||||
{
|
||||
stop();
|
||||
}
|
||||
else
|
||||
{
|
||||
play();
|
||||
}
|
||||
}
|
||||
else if( _ke->key() == Qt::Key_Home )
|
||||
{
|
||||
m_song->setPlayPos( 0, Song::Mode_PlaySong );
|
||||
@@ -679,19 +613,12 @@ SongEditorWindow::SongEditorWindow(Song* song) :
|
||||
|
||||
// Set up buttons
|
||||
m_playButton->setToolTip(tr("Play song (Space)"));
|
||||
connect(m_playButton, SIGNAL(clicked()), m_editor, SLOT(play()));
|
||||
|
||||
if (m_recordButton && m_recordAccompanyButton)
|
||||
{
|
||||
m_recordButton->setToolTip(tr("Record samples from Audio-device"));
|
||||
connect(m_recordButton, SIGNAL(clicked()), m_editor, SLOT(record()));
|
||||
|
||||
m_recordAccompanyButton->setToolTip(tr( "Record samples from Audio-device while playing song or BB track"));
|
||||
connect(m_recordAccompanyButton, SIGNAL(clicked()), m_editor, SLOT(recordAccompany()));
|
||||
}
|
||||
|
||||
m_stopButton->setToolTip(tr( "Stop song (Space)" ));
|
||||
connect(m_stopButton, SIGNAL(clicked()), m_editor, SLOT(stop()));
|
||||
|
||||
m_addBBTrackButton = new ToolButton(
|
||||
embed::getIconPixmap("add_bb_track"),
|
||||
@@ -767,3 +694,35 @@ SongEditorWindow::SongEditorWindow(Song* song) :
|
||||
parentWidget()->move( 5, 5 );
|
||||
parentWidget()->show();
|
||||
}
|
||||
|
||||
|
||||
void SongEditorWindow::play()
|
||||
{
|
||||
if( Engine::getSong()->playMode() != Song::Mode_PlaySong )
|
||||
{
|
||||
Engine::getSong()->playSong();
|
||||
}
|
||||
else
|
||||
{
|
||||
Engine::getSong()->togglePause();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void SongEditorWindow::record()
|
||||
{
|
||||
m_editor->m_song->record();
|
||||
}
|
||||
|
||||
|
||||
void SongEditorWindow::recordAccompany()
|
||||
{
|
||||
m_editor->m_song->playAndRecord();
|
||||
}
|
||||
|
||||
|
||||
void SongEditorWindow::stop()
|
||||
{
|
||||
m_editor->m_song->stop();
|
||||
Engine::pianoRoll()->stopRecording();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user