diff options
author | Tim E. Real <termtech@rogers.com> | 2011-08-29 22:44:24 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2011-08-29 22:44:24 +0000 |
commit | d505c378bdf55445babb73e0ba4085702be35870 (patch) | |
tree | 40ccb82e5b27f118904a5298faedd10fe3b96d36 /muse2/muse/mixer | |
parent | 21e75f0c2d14010d060693c77fd3e22e1fccd65d (diff) |
Fixed audio automation graph editing. And now 'snaps' to discrete integer or bool types.
All control movements should update display now. Also slightly changed behaviour of Ctrl class.
TODO: Fix some painting corruption, improve discrete display, add transparency etc. etc.
Applied compilation patch to rhythmbase.ui by Jean-Damien Durand.
Diffstat (limited to 'muse2/muse/mixer')
-rw-r--r-- | muse2/muse/mixer/astrip.cpp | 43 | ||||
-rw-r--r-- | muse2/muse/mixer/panknob.cpp | 4 |
2 files changed, 28 insertions, 19 deletions
diff --git a/muse2/muse/mixer/astrip.cpp b/muse2/muse/mixer/astrip.cpp index 658a4970..97ddc98c 100644 --- a/muse2/muse/mixer/astrip.cpp +++ b/muse2/muse/mixer/astrip.cpp @@ -209,15 +209,19 @@ void AudioStrip::songChanged(int val) if (autoType && (val & SC_AUTOMATION)) { autoType->blockSignals(true); autoType->setCurrentItem(track->automationType()); + QPalette palette; if(track->automationType() == AUTO_TOUCH || track->automationType() == AUTO_WRITE) { - QPalette palette; palette.setColor(QPalette::Button, QColor(Qt::red)); autoType->setPalette(palette); } + else if(track->automationType() == AUTO_READ) + { + palette.setColor(QPalette::Button, QColor(Qt::green)); + autoType->setPalette(palette); + } else { - QPalette palette; palette.setColor(QPalette::Button, qApp->palette().color(QPalette::Active, QPalette::Background)); autoType->setPalette(palette); } @@ -394,13 +398,14 @@ void AudioStrip::volumeChanged(double val) else vol = pow(10.0, val/20.0); volume = vol; - //audio->msgSetVolume((AudioTrack*)track, vol); + audio->msgSetVolume((AudioTrack*)track, vol); // p4.0.21 audio->msgXXX waits. Do we really need to? - ((AudioTrack*)track)->setVolume(vol); + //((AudioTrack*)track)->setVolume(vol); ((AudioTrack*)track)->recordAutomation(AC_VOLUME, vol); - song->update(SC_TRACK_MODIFIED); // for graphical automation update + //song->update(SC_TRACK_MODIFIED); // for graphical automation update + //song->controllerChange(track); } //--------------------------------------------------------- @@ -422,9 +427,9 @@ void AudioStrip::volumePressed() else vol = pow(10.0, val/20.0); volume = vol; - //audio->msgSetVolume((AudioTrack*)track, volume); + audio->msgSetVolume((AudioTrack*)track, volume); // p4.0.21 audio->msgXXX waits. Do we really need to? - ((AudioTrack*)track)->setVolume(volume); + //((AudioTrack*)track)->setVolume(volume); ((AudioTrack*)track)->startAutoRecord(AC_VOLUME, volume); } @@ -468,9 +473,9 @@ void AudioStrip::volLabelChanged(double val) vol = pow(10.0, val/20.0); volume = vol; slider->setValue(val); - //audio->msgSetVolume((AudioTrack*)track, vol); + audio->msgSetVolume((AudioTrack*)track, vol); // p4.0.21 audio->msgXXX waits. Do we really need to? - ((AudioTrack*)track)->setVolume(vol); + //((AudioTrack*)track)->setVolume(vol); ((AudioTrack*)track)->startAutoRecord(AC_VOLUME, vol); } @@ -486,9 +491,9 @@ void AudioStrip::panChanged(double val) track->enablePanController(false); panVal = val; - //audio->msgSetPan(((AudioTrack*)track), val); + audio->msgSetPan(((AudioTrack*)track), val); // p4.0.21 audio->msgXXX waits. Do we really need to? - ((AudioTrack*)track)->setPan(val); + //((AudioTrack*)track)->setPan(val); ((AudioTrack*)track)->recordAutomation(AC_PAN, val); } @@ -504,9 +509,9 @@ void AudioStrip::panPressed() track->enablePanController(false); panVal = pan->value(); - //audio->msgSetPan(((AudioTrack*)track), panVal); + audio->msgSetPan(((AudioTrack*)track), panVal); // p4.0.21 audio->msgXXX waits. Do we really need to? - ((AudioTrack*)track)->setPan(panVal); + //((AudioTrack*)track)->setPan(panVal); ((AudioTrack*)track)->startAutoRecord(AC_PAN, panVal); } @@ -541,9 +546,9 @@ void AudioStrip::panLabelChanged(double val) panVal = val; pan->setValue(val); - //audio->msgSetPan((AudioTrack*)track, val); + audio->msgSetPan((AudioTrack*)track, val); // p4.0.21 audio->msgXXX waits. Do we really need to? - ((AudioTrack*)track)->setPan(val); + //((AudioTrack*)track)->setPan(val); ((AudioTrack*)track)->startAutoRecord(AC_PAN, val); } @@ -935,15 +940,19 @@ AudioStrip::AudioStrip(QWidget* parent, AudioTrack* at) autoType->addAction(tr("Write"), AUTO_WRITE); autoType->setCurrentItem(t->automationType()); + QPalette palette; if(t->automationType() == AUTO_TOUCH || t->automationType() == AUTO_WRITE) { - QPalette palette; palette.setColor(QPalette::Button, QColor(Qt::red)); autoType->setPalette(palette); } + else if(t->automationType() == AUTO_READ) + { + palette.setColor(QPalette::Button, QColor(Qt::green)); + autoType->setPalette(palette); + } else { - QPalette palette; palette.setColor(QPalette::Button, qApp->palette().color(QPalette::Active, QPalette::Background)); autoType->setPalette(palette); } diff --git a/muse2/muse/mixer/panknob.cpp b/muse2/muse/mixer/panknob.cpp index c99f0bd5..598bf5bf 100644 --- a/muse2/muse/mixer/panknob.cpp +++ b/muse2/muse/mixer/panknob.cpp @@ -27,9 +27,9 @@ PanKnob::PanKnob(QWidget* parent, AudioTrack* s) void PanKnob::valueChanged(double val) { - //audio->msgSetPan(src, val); + audio->msgSetPan(src, val); // p4.0.21 audio->msgXXX waits. Do we really need to? - src->setPan(val); + //src->setPan(val); } |