diff --git a/ChangeLog b/ChangeLog index 9dfb61fda..261550cf2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,10 @@ auto-scroll default to disabled fixed glitch where it would auto-scroll even if it was off in song-editor + * src/gui/main_window.cpp: + worked on global playback/record options in the toolbar. This code + is still commented out though. + 2008-12-05 Andrew Kelley diff --git a/TODO b/TODO index b6b89d0bf..816f1ccc1 100644 --- a/TODO +++ b/TODO @@ -52,6 +52,12 @@ - add FLAC as export-format? Andrew Kelley's todo: +- recording automation +- make knobs easier to tune (less sensitive) +- make the menu for a channel happen when you right click, instead of renaming, and make the midi input a top-level menu item +- add a "Set exact value" to a right clicked automation menu +- enable "auto detect" by default when you bring up the "connect to controller" window + - add a tools menu to piano roll * put some of the tools on there that already have keyboard shortcuts (ctrl+up/down, shift+left/right) * humanizing tool @@ -61,19 +67,14 @@ Andrew Kelley's todo: - make copy/paste work beyond inside piano roll - it didn't work when I copied notes from one pattern and then opened another pattern and pasted. - piano roll: make the note volume section have adjustable height - add note panning ability to piano roll -- make piano roll grid change based on quantization - "paintbrush" tool for the song editor, to easily "paint" beat+basslines - when you clone a track in the song editor, rename the track so that it doesn't have the same name (increment the number if necessary) - somehow enable easy pattern copy pasting in the beat+bassline editor -- make knobs easier to tune (less sensitive) - make it so you can see the notes when putting a pattern in the playlist -- make the menu for a channel happen when you right click, instead of renaming, and make the midi input a top-level menu item -- recording automation - adding/removing steps to the beat+bassline editor is awkward - the 'add beat+bassline' button in the beat+bassline editor is misleading - I say we remove it and rely on the song editor to add beat+basslines - make it so that 3xosc notes don't max out - implement note detuning (used to be ctrl+click to access note detuning) (need some other intuitive way to access note detuning as ctrl, shift, and alt are all being used) -- make the horizontal scroll bar do the same thing as shift+vertical scroll bar -- add a "Set exact value" to a right clicked automation menu -- enable "auto detect" by default when you bring up the "connect to controller" window +- make the horizontal mouse wheel do the same thing as shift+vertical mouse wheel + diff --git a/src/gui/main_window.cpp b/src/gui/main_window.cpp index 49eafe85c..25c0a63f7 100644 --- a/src/gui/main_window.cpp +++ b/src/gui/main_window.cpp @@ -631,7 +631,8 @@ void mainWindow::finalize( void ) m_toolBarLayout->addWidget( vc_w, 0, Qt::AlignLeft ); m_toolBarLayout->insertSpacing( -1, 10 ); - /*// global playback and record controls + /* + // global playback and record controls // main box QWidget * gpbr_w = new QWidget( m_toolBar ); QHBoxLayout * gpbrw_layout = new QHBoxLayout( gpbr_w ); @@ -646,21 +647,40 @@ void mainWindow::finalize( void ) QWidget * btns = new QWidget( gpb_w ); QHBoxLayout * btns_layout = new QHBoxLayout( btns ); - QToolButton * m_playButton = new QToolButton( btns ); - m_playButton->setIcon( embed::getIconPixmap( "play" ) ); - m_playButton->setToolTip( tr( "Play/pause the current window (Space)" ) ); - - QToolButton * m_recordButton = new QToolButton( btns ); - m_recordButton->setIcon( embed::getIconPixmap( "record" ) ); - m_recordButton->setToolTip( tr( "Record from the checked items to the right" ) ); - - QToolButton * m_recordAccompanyButton = new QToolButton( btns ); - m_recordAccompanyButton->setIcon( embed::getIconPixmap( "record_accompany" ) ); - m_recordAccompanyButton->setToolTip( tr( "Record from the checked items to the right while playing" ) ); - QToolButton * m_stopButton = new QToolButton( btns ); - m_stopButton->setIcon( embed::getIconPixmap( "stop" ) ); - m_stopButton->setToolTip( tr( "Stop playing whatever is playing" ) ); + + toolButton * m_playButton = + new toolButton( + embed::getIconPixmap( "play" ), + tr( "Play/pause the current window (Space)" ), + engine::getSong(), + SLOT( play() ), + btns ); + + toolButton * m_recordButton = + new toolButton( + embed::getIconPixmap( "record" ), + tr( "Record from the checked items to the right" ), + engine::getSong(), + SLOT( record() ), + btns ); + + toolButton * m_recordAccompanyButton = + new toolButton( + embed::getIconPixmap( "record_accompany" ), + tr( "Record from the checked items to " + "the right while playing" ), + engine::getSong(), + SLOT( playAndRecord() ), + btns ); + + toolButton * m_stopButton = + new toolButton( + embed::getIconPixmap( "stop" ), + tr( "Stop playing whatever is playing" ), + engine::getSong(), + SLOT( stop() ), + btns ); btns_layout->setMargin(0); btns_layout->setSpacing(0); @@ -677,11 +697,15 @@ void mainWindow::finalize( void ) QVBoxLayout * grw_layout = new QVBoxLayout( gr_w ); grw_layout->setMargin( 0 ); grw_layout->setSpacing( 0 ); - grw_layout->addWidget( new QLabel( tr( "RECORD" ), gr_w ) ); - grw_layout->addWidget( new QCheckBox( tr( "Audio-device" ), gr_w ) ); - grw_layout->addWidget( new QCheckBox( tr( "Automation" ), gr_w ) ); - grw_layout->addWidget( new QCheckBox( tr( "MIDI" ), gr_w ) ); + m_chkrAudio = new QCheckBox( tr( "Audio-device" ), gr_w ); + m_chkrAutomation = new QCheckBox( tr( "Automation" ), gr_w ); + m_chkrMidi = new QCheckBox( tr( "MIDI" ), gr_w ); + + grw_layout->addWidget( new QLabel( tr( "RECORD" ), gr_w ) ); + grw_layout->addWidget( m_chkrAudio ); + grw_layout->addWidget( m_chkrAutomation ); + grw_layout->addWidget( m_chkrMidi ); gpbrw_layout->setMargin( 0 ); @@ -692,7 +716,7 @@ void mainWindow::finalize( void ) gpbrw_layout->addStretch(); - addWidgetToToolBar( gpbr_w );*/ + m_toolBarLayout->addWidget( gpbr_w );*/ // setup-dialog opened before?