1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
//=========================================================
// MusE
// Linux Music Editor
// $Id: metronome.cpp,v 1.1.1.1 2003/10/29 10:06:32 wschweer Exp $
//
// (C) Copyright 2001 Werner Schweer (ws@seh.de)
//=========================================================
#include <stdio.h>
#include "metronome.h"
#include <qpushbutton.h>
#include <qspinbox.h>
#include <qcheckbox.h>
#include "globals.h"
// #include "seq.h"
//---------------------------------------------------------
// MetronomeConfig
//---------------------------------------------------------
MetronomeConfig::MetronomeConfig(QWidget* parent, const char* name)
: MetronomeConfigBase(parent, name)
{
connect(buttonApply, SIGNAL(clicked()), SLOT(apply()));
connect(midiClick, SIGNAL(toggled(bool)), SLOT(midiClickChanged(bool)));
connect(precountEnable, SIGNAL(toggled(bool)), SLOT(precountEnableChanged(bool)));
connect(precountFromMastertrack, SIGNAL(toggled(bool)),
SLOT(precountFromMastertrackChanged(bool)));
measureNote->setValue(measureClickNote);
measureVelocity->setValue(measureClickVelo);
beatNote->setValue(beatClickNote);
beatVelocity->setValue(beatClickVelo);
midiChannel->setValue(clickChan+1);
midiPort->setValue(clickPort+1);
precountBars->setValue(preMeasures);
precountEnable->setDown(precountEnableFlag);
precountFromMastertrack->setDown(precountFromMastertrackFlag);
precountSigZ->setValue(::precountSigZ);
precountSigN->setValue(::precountSigN);
precountPrerecord->setDown(::precountPrerecord);
precountPreroll->setDown(::precountPreroll);
midiClick->setDown(midiClickFlag);
audioBeep->setDown(audioClickFlag);
}
//---------------------------------------------------------
// accept
//---------------------------------------------------------
void MetronomeConfig::accept()
{
apply();
MetronomeConfigBase::accept();
}
//---------------------------------------------------------
// apply
//---------------------------------------------------------
void MetronomeConfig::apply()
{
measureClickNote = measureNote->value();
measureClickVelo = measureVelocity->value();
beatClickNote = beatNote->value();
beatClickVelo = beatVelocity->value();
clickChan = midiChannel->value() - 1;
clickPort = midiPort->value() - 1;
preMeasures = precountBars->value();
precountEnableFlag = precountEnable->isOn();
precountFromMastertrackFlag = precountFromMastertrack->isOn();
::precountSigZ = precountSigZ->value();
::precountSigN = precountSigN->value();
::precountPrerecord = precountPrerecord->isOn();
::precountPreroll = precountPreroll->isOn();
midiClickFlag = midiClick->isOn();
audioClickFlag = audioBeep->isOn();
}
//---------------------------------------------------------
// reject
//---------------------------------------------------------
void MetronomeConfig::reject()
{
MetronomeConfigBase::reject();
}
//---------------------------------------------------------
// midiClickChanged
//---------------------------------------------------------
void MetronomeConfig::midiClickChanged(bool flag)
{
measureNote->setEnabled(flag);
measureVelocity->setEnabled(flag);
beatNote->setEnabled(flag);
beatVelocity->setEnabled(flag);
midiChannel->setEnabled(flag);
midiPort->setEnabled(flag);
}
void MetronomeConfig::precountEnableChanged(bool flag)
{
precountBars->setEnabled(flag);
precountFromMastertrack->setEnabled(flag);
precountSigZ->setEnabled(flag && !precountFromMastertrack->isOn());
precountSigN->setEnabled(flag && !precountFromMastertrack->isOn());
}
void MetronomeConfig::precountFromMastertrackChanged(bool flag)
{
precountSigZ->setEnabled(!flag);
precountSigN->setEnabled(!flag);
}
|