From 296d5ed159e36041cd863563c1f53ed812e719da Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Thu, 15 Jul 2010 21:07:16 +0000 Subject: volume for audio metronome --- muse/ChangeLog | 2 + muse/muse/conf.cpp | 3 + muse/muse/globals.cpp | 2 +- muse/muse/widgets/metronome.cpp | 10 +- muse/muse/widgets/metronome.h | 1 + muse/muse/widgets/metronomebase.ui | 507 +++++++++++++++++++++---------------- 6 files changed, 305 insertions(+), 220 deletions(-) diff --git a/muse/ChangeLog b/muse/ChangeLog index d65eb8da..d829a6e4 100644 --- a/muse/ChangeLog +++ b/muse/ChangeLog @@ -1,3 +1,5 @@ +15.07.2010 + * Added: Volume control for audio metronome (rj) 12.07.2010 * Fixed: When wave files were edited allocation was on stack which caused crashes for larger selections, now done on heap (rj) * Added: Print svn version in -v and About box. (rj) diff --git a/muse/muse/conf.cpp b/muse/muse/conf.cpp index 983c58f7..fa11d440 100644 --- a/muse/muse/conf.cpp +++ b/muse/muse/conf.cpp @@ -416,6 +416,8 @@ static void loadConfigMetronom(Xml& xml) midiClickFlag = xml.parseInt(); else if (tag == "audioClickEnable") audioClickFlag = xml.parseInt(); + else if (tag == "audioClickVolume") + audioClickVolume = xml.parseFloat(); else xml.unknown("Metronome"); break; @@ -932,6 +934,7 @@ static void writeSeqConfiguration(int level, Xml& xml, bool writePortInfo) xml.intTag(level, "preroll", precountPreroll); xml.intTag(level, "midiClickEnable", midiClickFlag); xml.intTag(level, "audioClickEnable", audioClickFlag); + xml.floatTag(level, "audioClickVolume", audioClickVolume); xml.tag(level--, "/metronom"); xml.intTag(level, "rcEnable", rcEnable); diff --git a/muse/muse/globals.cpp b/muse/muse/globals.cpp index 9c48826f..0c6c1dfa 100644 --- a/muse/muse/globals.cpp +++ b/muse/muse/globals.cpp @@ -330,7 +330,7 @@ bool precountPrerecord = false; bool precountPreroll = false; bool midiClickFlag = true; bool audioClickFlag = true; -float audioClickVolume = 0.1f; +float audioClickVolume = 0.5f; bool rcEnable = false; unsigned char rcStopNote = 28; diff --git a/muse/muse/widgets/metronome.cpp b/muse/muse/widgets/metronome.cpp index 988805f5..5de57ee3 100644 --- a/muse/muse/widgets/metronome.cpp +++ b/muse/muse/widgets/metronome.cpp @@ -30,7 +30,8 @@ MetronomeConfig::MetronomeConfig(QWidget* parent, const char* name) connect(precountFromMastertrack, SIGNAL(toggled(bool)), SLOT(precountFromMastertrackChanged(bool))); connect(audioBeepRoutesButton, SIGNAL(clicked()), SLOT(audioBeepRoutesClicked())); - + connect(volumeSlider, SIGNAL(valueChanged(int)), SLOT(beepVolumeChanged(int))); + measureNote->setValue(measureClickNote); measureVelocity->setValue(measureClickVelo); beatNote->setValue(beatClickNote); @@ -126,6 +127,7 @@ void MetronomeConfig::apply() ::precountPreroll = precountPreroll->isChecked(); midiClickFlag = midiClick->isChecked(); audioClickFlag = audioBeep->isChecked(); + //audioVolumeChanged = volumeSlider->value(); } //--------------------------------------------------------- @@ -165,4 +167,8 @@ void MetronomeConfig::precountFromMastertrackChanged(bool flag) precountSigN->setEnabled(!flag); } - +void MetronomeConfig::beepVolumeChanged(int volume) + { + // this value is directly applied, not using th Apply button, it just seems more usable this way. + audioClickVolume=volume/100.0; + } diff --git a/muse/muse/widgets/metronome.h b/muse/muse/widgets/metronome.h index 03b7b0c2..200d1875 100644 --- a/muse/muse/widgets/metronome.h +++ b/muse/muse/widgets/metronome.h @@ -26,6 +26,7 @@ class MetronomeConfig : public MetronomeConfigBase { void midiClickChanged(bool); void precountEnableChanged(bool); void precountFromMastertrackChanged(bool); + void beepVolumeChanged(int); public: MetronomeConfig(QWidget* parent, const char* name = 0); diff --git a/muse/muse/widgets/metronomebase.ui b/muse/muse/widgets/metronomebase.ui index 9e50ae41..31e6597a 100644 --- a/muse/muse/widgets/metronomebase.ui +++ b/muse/muse/widgets/metronomebase.ui @@ -1,4 +1,4 @@ - + MetronomeConfigBase @@ -8,8 +8,8 @@ 0 0 - 508 - 352 + 517 + 347 @@ -18,7 +18,7 @@ true - + unnamed @@ -28,28 +28,22 @@ 6 - + - Layout12 + layout20 - + unnamed - - 0 - - - 6 - - + GroupBox1 Metronome - + unnamed @@ -59,191 +53,253 @@ 6 - - - audioBeepLayout - - - - - audioBeep - - - Audio Beep - - - - - audioBeepRoutesButton - - - Choose outputs... - - - true - - - - - + - midiClick + layout18 - - MIDI Click - - - true - - - - - Layout11 - - + unnamed - - 0 - - - 6 - - Layout10 + audioBeepLayout - + unnamed - - 0 - - - 6 - - + - TextLabel5 + audioBeep - Midi Channel + Audio Beep - + - TextLabel1 + audioBeepRoutesButton - Measure Note - - - - - midiChannel - - - 16 + Choose outputs... - - 1 + + true - + + + + + layout17 + + + + unnamed + + - TextLabel2 + volumeSlider - - Measure Velocity + + 0 - - - - TextLabel4 + + 100 - - Beat Velocity + + 1 - - - - midiPort + + 10 - - 16 + + 50 - - 1 + + Horizontal - + - TextLabel3 + volumeLabel - Beat Note - - - - - beatNote + 50 - + - measureVelocity + textLabel1 - - 127 + + % Audio volume - + + + + + midiClick + + + MIDI Click + + + true + + + + + Layout11 + + + + unnamed + + + 0 + + + 6 + + - measureNote + Layout10 + + + unnamed + + + 0 + + + 6 + + + + TextLabel5 + + + Midi Channel + + + + + TextLabel1 + + + Measure Note + + + + + midiChannel + + + 16 + + + 1 + + + + + TextLabel2 + + + Measure Velocity + + + + + TextLabel4 + + + Beat Velocity + + + + + midiPort + + + 16 + + + 1 + + + + + TextLabel3 + + + Beat Note + + + + + beatNote + + + + + measureVelocity + + + 127 + + + + + measureNote + + + + + TextLabel6 + + + Midi Port + + + + + beatVelocity + + + 127 + + + - + - TextLabel6 + Spacer10 - - Midi Port + + Horizontal - - - - beatVelocity + + Expanding - - 127 + + + 20 + 20 + - - + + - - - Spacer10 - - - Horizontal - - - Expanding - - - - 20 - 20 - - - - + - + - + GroupBox2 @@ -410,78 +466,89 @@ - - - - - Layout1 - - - - unnamed - - - 0 - - - 6 - - - - Horizontal Spacing2 - - - Horizontal - - - Expanding - - - - 20 - 20 - - - - - - buttonApply - - - &Apply - - - true - - - - - buttonOk - - - &OK - - - true - - - true - - - + - buttonCancel - - - &Cancel - - - true + layout19 + + + unnamed + + + + textLabel3 + + + Hint: Enable metronome in Transportpanel + + + + + Horizontal Spacing2 + + + Horizontal + + + Expanding + + + + 8 + 20 + + + + + + buttonApply + + + &Apply + + + Alt+A + + + true + + + + + buttonOk + + + &OK + + + Alt+O + + + true + + + true + + + + + buttonCancel + + + &Cancel + + + Alt+C + + + true + + + - + - + @@ -496,6 +563,12 @@ MetronomeConfigBase reject() + + volumeSlider + valueChanged(int) + volumeLabel + setNum(int) + audioBeep -- cgit v1.2.3