summaryrefslogtreecommitdiff
path: root/muse2/muse/mixer
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2012-07-01 16:42:16 +0000
committerFlorian Jung <flo@windfisch.org>2012-07-01 16:42:16 +0000
commit9c4664d162c537ba4dd4fd8220971c0fb727103a (patch)
tree37a28b7cd4e4d8984ad4934a4884cd7b4da0505c /muse2/muse/mixer
parente87fedf1be804f7ec774071d844b1f163be30b96 (diff)
final merge
Diffstat (limited to 'muse2/muse/mixer')
-rw-r--r--muse2/muse/mixer/astrip.cpp53
-rw-r--r--muse2/muse/mixer/astrip.h4
-rw-r--r--muse2/muse/mixer/panknob.cpp1
3 files changed, 23 insertions, 35 deletions
diff --git a/muse2/muse/mixer/astrip.cpp b/muse2/muse/mixer/astrip.cpp
index 7699af41..3b0a8707 100644
--- a/muse2/muse/mixer/astrip.cpp
+++ b/muse2/muse/mixer/astrip.cpp
@@ -455,10 +455,11 @@ void AudioStrip::auxLabelChanged(double val, unsigned int idx)
// volumeChanged
//---------------------------------------------------------
-void AudioStrip::volumeChanged(double val)
+void AudioStrip::volumeChanged(double val, int, bool shift_pressed)
{
AutomationType at = ((MusECore::AudioTrack*)track)->automationType();
- if(at == AUTO_WRITE || (MusEGlobal::audio->isPlaying() && at == AUTO_TOUCH))
+ if ( (at == AUTO_WRITE) ||
+ (at == AUTO_TOUCH && MusEGlobal::audio->isPlaying()) )
track->enableVolumeController(false);
double vol;
@@ -472,12 +473,7 @@ void AudioStrip::volumeChanged(double val)
//MusEGlobal::audio->msgSetVolume((MusECore::AudioTrack*)track, vol);
// p4.0.21 MusEGlobal::audio->msgXXX waits. Do we really need to?
((MusECore::AudioTrack*)track)->setVolume(vol);
- MusEGlobal::song->controllerChange(track);
-
- ((MusECore::AudioTrack*)track)->recordAutomation(MusECore::AC_VOLUME, vol);
-
- //MusEGlobal::song->update(SC_TRACK_MODIFIED); // for graphical automation update
- //MusEGlobal::song->controllerChange(track);
+ if (!shift_pressed) ((MusECore::AudioTrack*)track)->recordAutomation(MusECore::AC_VOLUME, vol);
}
//---------------------------------------------------------
@@ -487,7 +483,7 @@ void AudioStrip::volumeChanged(double val)
void AudioStrip::volumePressed()
{
AutomationType at = ((MusECore::AudioTrack*)track)->automationType();
- if(at == AUTO_WRITE || (at == AUTO_READ || at == AUTO_TOUCH))
+ if (at == AUTO_READ || at == AUTO_TOUCH || at == AUTO_WRITE)
track->enableVolumeController(false);
double val = slider->value();
@@ -502,8 +498,6 @@ void AudioStrip::volumePressed()
//MusEGlobal::audio->msgSetVolume((MusECore::AudioTrack*)track, volume);
// p4.0.21 MusEGlobal::audio->msgXXX waits. Do we really need to?
((MusECore::AudioTrack*)track)->setVolume(volume);
- MusEGlobal::song->controllerChange(track);
-
((MusECore::AudioTrack*)track)->startAutoRecord(MusECore::AC_VOLUME, volume);
}
@@ -513,7 +507,8 @@ void AudioStrip::volumePressed()
void AudioStrip::volumeReleased()
{
- if(track->automationType() != AUTO_WRITE)
+ AutomationType at = track->automationType();
+ if (at == AUTO_OFF || at == AUTO_READ || at == AUTO_TOUCH)
track->enableVolumeController(true);
((MusECore::AudioTrack*)track)->stopAutoRecord(MusECore::AC_VOLUME, volume);
@@ -534,7 +529,8 @@ void AudioStrip::volumeRightClicked(const QPoint &p)
void AudioStrip::volLabelChanged(double val)
{
AutomationType at = ((MusECore::AudioTrack*)track)->automationType();
- if(at == AUTO_WRITE || (MusEGlobal::audio->isPlaying() && at == AUTO_TOUCH))
+ if ( (at == AUTO_WRITE) ||
+ (at == AUTO_TOUCH && MusEGlobal::audio->isPlaying()) )
track->enableVolumeController(false);
double vol;
@@ -549,8 +545,6 @@ void AudioStrip::volLabelChanged(double val)
//audio->msgSetVolume((MusECore::AudioTrack*)track, vol);
// p4.0.21 audio->msgXXX waits. Do we really need to?
((MusECore::AudioTrack*)track)->setVolume(vol);
- MusEGlobal::song->controllerChange(track);
-
((MusECore::AudioTrack*)track)->startAutoRecord(MusECore::AC_VOLUME, vol);
}
@@ -558,19 +552,18 @@ void AudioStrip::volLabelChanged(double val)
// panChanged
//---------------------------------------------------------
-void AudioStrip::panChanged(double val)
+void AudioStrip::panChanged(double val, int, bool shift_pressed)
{
AutomationType at = ((MusECore::AudioTrack*)track)->automationType();
- if(at == AUTO_WRITE || (MusEGlobal::audio->isPlaying() && at == AUTO_TOUCH))
+ if ( (at == AUTO_WRITE) ||
+ (at == AUTO_TOUCH && MusEGlobal::audio->isPlaying()) )
track->enablePanController(false);
panVal = val;
//MusEGlobal::audio->msgSetPan(((MusECore::AudioTrack*)track), val);
// p4.0.21 MusEGlobal::audio->msgXXX waits. Do we really need to?
((MusECore::AudioTrack*)track)->setPan(val);
- MusEGlobal::song->controllerChange(track);
-
- ((MusECore::AudioTrack*)track)->recordAutomation(MusECore::AC_PAN, val);
+ if (!shift_pressed) ((MusECore::AudioTrack*)track)->recordAutomation(MusECore::AC_PAN, val);
}
//---------------------------------------------------------
@@ -580,15 +573,13 @@ void AudioStrip::panChanged(double val)
void AudioStrip::panPressed()
{
AutomationType at = ((MusECore::AudioTrack*)track)->automationType();
- if(at == AUTO_WRITE || (at == AUTO_READ || at == AUTO_TOUCH))
+ if (at == AUTO_READ || at == AUTO_TOUCH || at == AUTO_WRITE)
track->enablePanController(false);
panVal = pan->value();
//MusEGlobal::audio->msgSetPan(((MusECore::AudioTrack*)track), panVal);
// p4.0.21 MusEGlobal::audio->msgXXX waits. Do we really need to?
((MusECore::AudioTrack*)track)->setPan(panVal);
- MusEGlobal::song->controllerChange(track);
-
((MusECore::AudioTrack*)track)->startAutoRecord(MusECore::AC_PAN, panVal);
}
@@ -598,7 +589,8 @@ void AudioStrip::panPressed()
void AudioStrip::panReleased()
{
- if(track->automationType() != AUTO_WRITE)
+ AutomationType at = track->automationType();
+ if (at == AUTO_OFF || at == AUTO_READ || at == AUTO_TOUCH)
track->enablePanController(true);
((MusECore::AudioTrack*)track)->stopAutoRecord(MusECore::AC_PAN, panVal);
}
@@ -617,8 +609,9 @@ void AudioStrip::panRightClicked(const QPoint &p)
void AudioStrip::panLabelChanged(double val)
{
- AutomationType at = ((MusECore::AudioTrack*)track)->automationType();
- if(at == AUTO_WRITE || (MusEGlobal::audio->isPlaying() && at == AUTO_TOUCH))
+ AutomationType at = ((MusECore::AudioTrack*)track)->automationType();
+ if ( (at == AUTO_WRITE) ||
+ (at == AUTO_TOUCH && MusEGlobal::audio->isPlaying()) )
track->enablePanController(false);
panVal = val;
@@ -626,8 +619,6 @@ void AudioStrip::panLabelChanged(double val)
//MusEGlobal::audio->msgSetPan((MusECore::AudioTrack*)track, val);
// p4.0.21 MusEGlobal::audio->msgXXX waits. Do we really need to?
((MusECore::AudioTrack*)track)->setPan(val);
- MusEGlobal::song->controllerChange(track);
-
((MusECore::AudioTrack*)track)->startAutoRecord(MusECore::AC_PAN, val);
}
@@ -727,11 +718,10 @@ MusEGui::Knob* AudioStrip::addKnob(int type, int id, MusEGui::DoubleLabel** dlab
_curGridRow += 2;
connect(knob, SIGNAL(valueChanged(double,int)), pl, SLOT(setValue(double)));
- //connect(pl, SIGNAL(valueChanged(double, int)), SLOT(panChanged(double)));
if (type == 0) {
connect(pl, SIGNAL(valueChanged(double, int)), SLOT(panLabelChanged(double)));
- connect(knob, SIGNAL(sliderMoved(double,int)), SLOT(panChanged(double)));
+ connect(knob, SIGNAL(sliderMoved(double,int,bool)), SLOT(panChanged(double,int,bool)));
connect(knob, SIGNAL(sliderPressed(int)), SLOT(panPressed()));
connect(knob, SIGNAL(sliderReleased(int)), SLOT(panReleased()));
connect(knob, SIGNAL(sliderRightClicked(const QPoint &, int)), SLOT(panRightClicked(const QPoint &)));
@@ -894,9 +884,8 @@ AudioStrip::AudioStrip(QWidget* parent, MusECore::AudioTrack* at)
sl->setValue(MusECore::fast_log10(t->volume()) * 20.0);
connect(sl, SIGNAL(valueChanged(double,int)), SLOT(volLabelChanged(double)));
- //connect(sl, SIGNAL(valueChanged(double,int)), SLOT(volumeChanged(double)));
connect(slider, SIGNAL(valueChanged(double,int)), sl, SLOT(setValue(double)));
- connect(slider, SIGNAL(sliderMoved(double,int)), SLOT(volumeChanged(double)));
+ connect(slider, SIGNAL(sliderMoved(double,int,bool)), SLOT(volumeChanged(double,int,bool)));
connect(slider, SIGNAL(sliderPressed(int)), SLOT(volumePressed()));
connect(slider, SIGNAL(sliderReleased(int)), SLOT(volumeReleased()));
connect(slider, SIGNAL(sliderRightClicked(const QPoint &, int)), SLOT(volumeRightClicked(const QPoint &)));
diff --git a/muse2/muse/mixer/astrip.h b/muse2/muse/mixer/astrip.h
index f5406652..c0df5360 100644
--- a/muse2/muse/mixer/astrip.h
+++ b/muse2/muse/mixer/astrip.h
@@ -94,10 +94,10 @@ class AudioStrip : public Strip {
void iRoutePressed();
void oRoutePressed();
void auxChanged(double, int);
- void volumeChanged(double);
+ void volumeChanged(double,int,bool);
void volumePressed();
void volumeReleased();
- void panChanged(double);
+ void panChanged(double,int,bool);
void panPressed();
void panReleased();
void volLabelChanged(double);
diff --git a/muse2/muse/mixer/panknob.cpp b/muse2/muse/mixer/panknob.cpp
index dc2564a7..c54a112f 100644
--- a/muse2/muse/mixer/panknob.cpp
+++ b/muse2/muse/mixer/panknob.cpp
@@ -48,7 +48,6 @@ void PanKnob::valueChanged(double val)
//audio->msgSetPan(src, val);
// p4.0.21 audio->msgXXX waits. Do we really need to?
src->setPan(val);
- MusEGlobal::song->controllerChange(src);
}
} // namespace MusEGui