summaryrefslogtreecommitdiff
path: root/muse2/muse/mixer
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2011-08-29 22:44:24 +0000
committerTim E. Real <termtech@rogers.com>2011-08-29 22:44:24 +0000
commitd505c378bdf55445babb73e0ba4085702be35870 (patch)
tree40ccb82e5b27f118904a5298faedd10fe3b96d36 /muse2/muse/mixer
parent21e75f0c2d14010d060693c77fd3e22e1fccd65d (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.cpp43
-rw-r--r--muse2/muse/mixer/panknob.cpp4
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);
}