diff options
author | Tim E. Real <termtech@rogers.com> | 2011-09-01 20:44:18 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2011-09-01 20:44:18 +0000 |
commit | 538afdda358cc49cac4554c1ce24ad2f50383907 (patch) | |
tree | d8a8c240ee9b8aa604b5c0cbeab6748b1f74351a /muse2/muse/mixer | |
parent | 1414d8185ca9bc0b078cff7512482f013e28bde3 (diff) |
Fixed tough old skeleton: Selecting 'previous/next event' in Song::execAutomationCtlPopup now
moves cursor with exact frame resolution.
Reverted controls to full speed (again): Removed too-cautious msgSetVolume, msgSetPan, msgSetPluginCtrlVal. Reviewing some other possibly unneeded too-cautious msgXXX audio messages :)
TODO: Fix current automation values (the 'off' value).
Removed unused PanKnob from mixer CMakeLists.
Diffstat (limited to 'muse2/muse/mixer')
-rw-r--r-- | muse2/muse/mixer/CMakeLists.txt | 2 | ||||
-rw-r--r-- | muse2/muse/mixer/astrip.cpp | 61 | ||||
-rw-r--r-- | muse2/muse/mixer/panknob.cpp | 8 |
3 files changed, 53 insertions, 18 deletions
diff --git a/muse2/muse/mixer/CMakeLists.txt b/muse2/muse/mixer/CMakeLists.txt index 3d76ebd6..92c3642d 100644 --- a/muse2/muse/mixer/CMakeLists.txt +++ b/muse2/muse/mixer/CMakeLists.txt @@ -26,7 +26,6 @@ QT4_WRAP_CPP ( mixer_mocs astrip.h auxknob.h mstrip.h - panknob.h rack.h routedialog.h strip.h @@ -48,7 +47,6 @@ file (GLOB mixer_source_files astrip.cpp auxknob.cpp mstrip.cpp - panknob.cpp rack.cpp routedialog.cpp strip.cpp diff --git a/muse2/muse/mixer/astrip.cpp b/muse2/muse/mixer/astrip.cpp index 97ddc98c..00477a26 100644 --- a/muse2/muse/mixer/astrip.cpp +++ b/muse2/muse/mixer/astrip.cpp @@ -26,11 +26,12 @@ #include <QVariant> #include <QAction> #include <QGridLayout> +//#include <QLinearGradient> #include "app.h" #include "globals.h" #include "audio.h" -#include "driver/audiodev.h" +//#include "driver/audiodev.h" #include "song.h" #include "slider.h" #include "knob.h" @@ -210,19 +211,32 @@ void AudioStrip::songChanged(int val) autoType->blockSignals(true); autoType->setCurrentItem(track->automationType()); QPalette palette; + //QLinearGradient gradient(autoType->geometry().topLeft(), autoType->geometry().bottomLeft()); if(track->automationType() == AUTO_TOUCH || track->automationType() == AUTO_WRITE) { palette.setColor(QPalette::Button, QColor(Qt::red)); + //QColor c(Qt::red); + //gradient.setColorAt(0, c); + //gradient.setColorAt(1, c.darker()); + //palette.setBrush(QPalette::Button, gradient); autoType->setPalette(palette); } else if(track->automationType() == AUTO_READ) { palette.setColor(QPalette::Button, QColor(Qt::green)); + //QColor c(Qt::green); + //gradient.setColorAt(0, c); + //gradient.setColorAt(1, c.darker()); + //palette.setBrush(QPalette::Button, gradient); autoType->setPalette(palette); } else { palette.setColor(QPalette::Button, qApp->palette().color(QPalette::Active, QPalette::Background)); + //QColor c(qApp->palette().color(QPalette::Active, QPalette::Background)); + //gradient.setColorAt(0, c); + //gradient.setColorAt(1, c.darker()); + //palette.setBrush(QPalette::Button, gradient); autoType->setPalette(palette); } @@ -398,9 +412,10 @@ 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); + song->controllerChange(track); ((AudioTrack*)track)->recordAutomation(AC_VOLUME, vol); @@ -427,9 +442,10 @@ 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); + song->controllerChange(track); ((AudioTrack*)track)->startAutoRecord(AC_VOLUME, volume); } @@ -473,9 +489,10 @@ 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); + song->controllerChange(track); ((AudioTrack*)track)->startAutoRecord(AC_VOLUME, vol); } @@ -491,9 +508,10 @@ 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); + song->controllerChange(track); ((AudioTrack*)track)->recordAutomation(AC_PAN, val); } @@ -509,9 +527,11 @@ 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); + song->controllerChange(track); + ((AudioTrack*)track)->startAutoRecord(AC_PAN, panVal); } @@ -546,9 +566,11 @@ 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); + song->controllerChange(track); + ((AudioTrack*)track)->startAutoRecord(AC_PAN, val); } @@ -941,19 +963,32 @@ AudioStrip::AudioStrip(QWidget* parent, AudioTrack* at) autoType->setCurrentItem(t->automationType()); QPalette palette; + //QLinearGradient gradient(autoType->geometry().topLeft(), autoType->geometry().bottomLeft()); if(t->automationType() == AUTO_TOUCH || t->automationType() == AUTO_WRITE) { palette.setColor(QPalette::Button, QColor(Qt::red)); + //QColor c(Qt::red); + //gradient.setColorAt(0, c); + //gradient.setColorAt(1, c.darker()); + //palette.setBrush(QPalette::Button, gradient); autoType->setPalette(palette); } else if(t->automationType() == AUTO_READ) { palette.setColor(QPalette::Button, QColor(Qt::green)); + //QColor c(Qt::green); + //gradient.setColorAt(0, c); + //gradient.setColorAt(1, c.darker()); + //palette.setBrush(QPalette::Button, gradient); autoType->setPalette(palette); } else { palette.setColor(QPalette::Button, qApp->palette().color(QPalette::Active, QPalette::Background)); + //QColor c(qApp->palette().color(QPalette::Active, QPalette::Background)); + //gradient.setColorAt(0, c); + //gradient.setColorAt(1, c.darker()); + //palette.setBrush(QPalette::Button, gradient); autoType->setPalette(palette); } diff --git a/muse2/muse/mixer/panknob.cpp b/muse2/muse/mixer/panknob.cpp index 598bf5bf..9963d171 100644 --- a/muse2/muse/mixer/panknob.cpp +++ b/muse2/muse/mixer/panknob.cpp @@ -6,7 +6,8 @@ // (C) Copyright 2000 Werner Schweer (ws@seh.de) //========================================================= -#include "../audio.h" +//#include "../audio.h" +#include "song.h" #include "panknob.h" #include "track.h" @@ -27,9 +28,10 @@ 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); + song->controllerChange(src); } |