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
|
//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Copyright (C) 2017 Werner Schweer and others
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENSE.GPL
//=============================================================================
#include "inspectorDynamic.h"
namespace Ms {
extern void populatePlacement(QComboBox*);
//---------------------------------------------------------
// InspectorDynamic
//---------------------------------------------------------
InspectorDynamic::InspectorDynamic(QWidget* parent)
: InspectorTextBase(parent)
{
d.setupUi(addWidget());
const std::vector<InspectorItem> il = {
{ Pid::DYNAMIC_RANGE, 0, d.dynRange, d.resetDynRange },
{ Pid::VELOCITY, 0, d.velocity, 0 },
{ Pid::SUB_STYLE, 0, d.style, d.resetStyle },
{ Pid::PLACEMENT, 0, d.placement, d.resetPlacement },
{ Pid::VELO_CHANGE, 0, d.changeInVelocity, 0 },
{ Pid::VELO_CHANGE_SPEED, 0, d.velChangeSpeed, d.resetVelChangeSpeed }
};
const std::vector<InspectorPanel> ppList = {
{ d.title, d.panel }
};
populatePlacement(d.placement);
populateStyle(d.style);
mapSignals(il, ppList);
}
//---------------------------------------------------------
// valueChanged
//---------------------------------------------------------
void InspectorDynamic::valueChanged(int idx, bool b)
{
InspectorTextBase::valueChanged(idx, b);
Pid pid = iList[idx].t;
// Update min and max for velocity change input
if (pid == Pid::VELOCITY) {
int velocity = d.velocity->value();
d.changeInVelocity->setMinimum(1 - velocity);
d.changeInVelocity->setMaximum(127 - velocity);
}
}
} // namespace Ms
|