diff options
-rw-r--r-- | muse/ChangeLog | 3 | ||||
-rw-r--r-- | muse/muse/arranger/canvas.cpp | 4 | ||||
-rw-r--r-- | muse/muse/audiotrack.cpp | 4 | ||||
-rw-r--r-- | muse/muse/auxplugin.cpp | 2 | ||||
-rw-r--r-- | muse/muse/conf.cpp | 22 | ||||
-rw-r--r-- | muse/muse/ctrl.cpp | 24 | ||||
-rw-r--r-- | muse/muse/ctrl.h | 5 | ||||
-rw-r--r-- | muse/muse/ctrl/ctrleditor.cpp | 46 | ||||
-rw-r--r-- | muse/muse/ctrl/ctrleditor.h | 2 | ||||
-rw-r--r-- | muse/muse/gconfig.cpp | 8 | ||||
-rw-r--r-- | muse/muse/gconfig.h | 4 | ||||
-rw-r--r-- | muse/muse/mixer/astrip.cpp | 8 | ||||
-rw-r--r-- | muse/muse/preferences.cpp | 38 | ||||
-rw-r--r-- | muse/muse/preferences.ui | 135 |
14 files changed, 209 insertions, 96 deletions
diff --git a/muse/ChangeLog b/muse/ChangeLog index b07142db..4505256a 100644 --- a/muse/ChangeLog +++ b/muse/ChangeLog @@ -1,3 +1,6 @@ +15.12 (ws) + - make slider.maxValue configurable + - pixel tuning for graphical controller editor 13.12 (ws) - changed (again) midi/audio time synchronisation - fix: record midi controller only in controller list diff --git a/muse/muse/arranger/canvas.cpp b/muse/muse/arranger/canvas.cpp index e89c6717..961d5cdb 100644 --- a/muse/muse/arranger/canvas.cpp +++ b/muse/muse/arranger/canvas.cpp @@ -257,9 +257,11 @@ void PartCanvas::paint(QPainter& p, QRect r) // int h = tls->height(); p.setPen(QPen(Qt::lightGray, trackSeparator, Qt::SolidLine)); p.drawLine(from, y + yTrackOffset, to, y + yTrackOffset); + y += yTrackOffset + trackSeparator; QPoint off(0, y); p.translate(off); - tls->paint(p, r); + // tls->paint(p, r); + tls->paint(p, QRect(from, 0, to-from, tls->height() - (yTrackOffset + trackSeparator))); p.translate(-off); } } diff --git a/muse/muse/audiotrack.cpp b/muse/muse/audiotrack.cpp index 2d01e42d..4e2ee2c1 100644 --- a/muse/muse/audiotrack.cpp +++ b/muse/muse/audiotrack.cpp @@ -53,7 +53,7 @@ AudioTrack::AudioTrack() Ctrl* c; c = new Ctrl(AC_VOLUME, "Volume"); c->setType(Ctrl::INTERPOLATE | Ctrl::LOG); - c->setRange(pow(10.0f, config.minSlider*0.05f), 2.0f); + c->setRange(pow(10.0f, config.minSlider*0.05f), pow(10.0f, config.maxSlider*0.05f)); addController(c); c = new Ctrl(AC_PAN, "Pan"); @@ -176,7 +176,7 @@ void AudioTrack::addAuxSend(int n) QString s("AuxSend-"); s += QString("%1").arg(i+1); Ctrl* ctrl = new Ctrl(AC_AUX + i, s); - ctrl->setRange(pow(10.0f, config.minSlider*0.05f), 2.0f); + ctrl->setRange(pow(10.0f, config.minSlider*0.05f), pow(10.0f, config.maxSlider*0.05f)); addController(ctrl); c = getController(AC_AUX_PAN + i); diff --git a/muse/muse/auxplugin.cpp b/muse/muse/auxplugin.cpp index c64c7cde..b3e244d3 100644 --- a/muse/muse/auxplugin.cpp +++ b/muse/muse/auxplugin.cpp @@ -42,7 +42,7 @@ void AuxPlugin::range(int idx, double* min, double* max) const switch(idx) { case 0: // volume *min = pow(10.0f, config.minSlider * 0.05f); - *max = 2.0; + *max = pow(10.0f, config.maxSlider * 0.05f); break; case 1: // pan *min = -1.0; diff --git a/muse/muse/conf.cpp b/muse/muse/conf.cpp index 50c82950..7b7561ef 100644 --- a/muse/muse/conf.cpp +++ b/muse/muse/conf.cpp @@ -227,9 +227,13 @@ void readConfiguration(QDomNode node) else if (tag == "rtcTicks") config.rtcTicks = i; else if (tag == "minMeter") - config.minMeter = i; + config.minMeter = s.toDouble(); + else if (tag == "maxMeter") + config.maxMeter = s.toDouble(); else if (tag == "minSlider") - config.minSlider = s.toFloat(); + config.minSlider = s.toDouble(); + else if (tag == "maxSlider") + config.maxSlider = s.toDouble(); else if (tag == "guiRefresh") config.guiRefresh = i; else if (tag == "peakHoldTime") @@ -386,13 +390,15 @@ void MusE::writeGlobalConfiguration(Xml& xml) const { xml.stag("configuration"); - xml.tag("division", config.division); - xml.tag("rtcTicks", config.rtcTicks); - xml.tag("minMeter", config.minMeter); - xml.tag("minSlider", config.minSlider); - xml.tag("guiRefresh", config.guiRefresh); + xml.tag("division", config.division); + xml.tag("rtcTicks", config.rtcTicks); + xml.tag("minMeter", config.minMeter); + xml.tag("maxMeter", config.maxMeter); + xml.tag("minSlider", config.minSlider); + xml.tag("maxSlider", config.maxSlider); + xml.tag("guiRefresh", config.guiRefresh); xml.tag("peakHoldTime", config.peakHoldTime); - xml.tag("helpBrowser", config.helpBrowser); + xml.tag("helpBrowser", config.helpBrowser); xml.tag("extendedMidi", config.extendedMidi); xml.tag("midiExportDivision", config.midiDivision); xml.tag("guiDivision", config.guiDivision); diff --git a/muse/muse/ctrl.cpp b/muse/muse/ctrl.cpp index bb1a7ac2..a57f8a6f 100644 --- a/muse/muse/ctrl.cpp +++ b/muse/muse/ctrl.cpp @@ -163,7 +163,7 @@ bool Ctrl::add(unsigned frame, CVal val) if (val.f <= 0.0) val.f = -1001.0f; else - val.f = fast_log10(val.f); + val.f = log10(val.f); } bool rv = find(frame) == end(); insert(frame, val); @@ -201,8 +201,6 @@ void Ctrl::read(QDomNode node, bool) _default.i = e.attribute("default","-1").toInt(); } else { - minS = "0.0f"; - maxS = "1.0f"; if (_id == AC_PAN) { minS = "-1.0f"; maxS = "+1.0f"; @@ -315,7 +313,15 @@ int Ctrl::val2pixelR(CVal val, int maxpixel) else { if ((_type & LOG) && (val.f <= -1000.0f)) return maxpixel; - return maxpixel - lrint(double(maxpixel) * (val.f - min.f) / (max.f-min.f)); + int pixel = maxpixel - lrint(double(maxpixel) * (val.f - min.f) / (max.f-min.f)); + if (pixel < 0) { + printf("%d - lrint(double(%d) * (%f - %f)/(%f-%f)\n", + maxpixel, maxpixel, val.f, min.f, max.f, min.f); + printf(" %f/%f = %f\n", + val.f-min.f, max.f-min.f, (val.f-min.f)/(max.f-min.f)); + } + return pixel; +// return maxpixel - lrint(double(maxpixel) * (val.f - min.f) / (max.f-min.f)); } } @@ -332,6 +338,9 @@ int Ctrl::val2pixelR(int val, int maxpixel) int Ctrl::cur2pixel(int maxpixel) { +#if 0 + return val2pixelR(_curVal, maxpixel); +#else maxpixel -= 1; if (_type & INT) @@ -344,6 +353,7 @@ int Ctrl::cur2pixel(int maxpixel) f = fast_log10(f); } return maxpixel - lrint(double(maxpixel) * (f - min.f) / (max.f-min.f)); +#endif } //--------------------------------------------------------- @@ -413,8 +423,8 @@ CVal Ctrl::pixel2valR(int pixel, int maxpixel) void Ctrl::setRange(double _min, double _max) { if (_type & LOG) { - min.f = fast_log10(_min); - max.f = fast_log10(_max); + min.f = log10(_min); + max.f = log10(_max); } else { min.f = _min; @@ -435,6 +445,6 @@ void Ctrl::setRange(int _min, int _max) void Ctrl::setRange(CVal mi, CVal ma) { min = mi; - max = ma; + max = ma; } diff --git a/muse/muse/ctrl.h b/muse/muse/ctrl.h index 929a11d3..eccd17c0 100644 --- a/muse/muse/ctrl.h +++ b/muse/muse/ctrl.h @@ -61,7 +61,7 @@ inline static int genACnum(int plugin, int ctrl, bool prefader) { // flag from controller id //--------------------------------------------------------- -inline static void getCtrlPlugin(int id, bool* prefader, int* pluginIndex, +inline static void getCtrlPlugin(int id, bool* prefader, int* pluginIndex, int* ctrlIndex) { *prefader = (id & CTRL_PREFADER) ? true : false; *pluginIndex = ((id & CTRL_PLUGIN_MASK) / CTRL_PLUGIN_OFFSET) - 1; @@ -144,6 +144,9 @@ typedef CTRL::const_iterator ciCtrlVal; //--------------------------------------------------------- // Ctrl // this is a controller list +// +// CtrlType == LOG +// values are internally represented as log10(value) //--------------------------------------------------------- class Ctrl : public CTRL { diff --git a/muse/muse/ctrl/ctrleditor.cpp b/muse/muse/ctrl/ctrleditor.cpp index 22503060..8d30e445 100644 --- a/muse/muse/ctrl/ctrleditor.cpp +++ b/muse/muse/ctrl/ctrleditor.cpp @@ -68,7 +68,7 @@ int CtrlEditor::ctrlY(int x, const CVal& val) const { if (dragy != -1 && lselected == x) return dragy; - return ctrl()->val2pixelR(val, cheight()); + return ctrl()->val2pixelR(val, th) + HANDLE2; } //--------------------------------------------------------- @@ -83,16 +83,16 @@ void CtrlEditor::paint(QPainter& p, const QRect& r) if (from < 0) from = 0; int to = r.x() + r.width() + HANDLE1; - int th = cheight(); + th = cheight() - HANDLE1 + splitWidth; p.save(); - p.setRenderHint(QPainter::Antialiasing, true); bool aR = track()->autoRead(); p.setPen(QPen(aR ? Qt::white : Qt::gray, 2)); TType tt = track()->timeType(); if (ctrl()->id() == CTRL_VELOCITY) { + p.setRenderHint(QPainter::Antialiasing, false); p.setPen(QPen(Qt::blue, veloWidth)); PartList* pl = track()->parts(); for (iPart ip = pl->begin(); ip != pl->end(); ++ip) { @@ -107,26 +107,28 @@ void CtrlEditor::paint(QPainter& p, const QRect& r) EventList* events = part->events(); for (iEvent e = events->begin(); e != events->end(); ++e) { - if (e->second.type() != Note) + const Event& ev = e->second; + if (ev.type() != Note) continue; - int pos = tc()->pos2pix(e->second.pos() + *part); + int pos = tc()->pos2pix(ev.pos() + *part); if (pos <= from) continue; if (pos > to) break; int id = ctrl()->id(); if (id == CTRL_VELOCITY || - (CTRL_SVELOCITY && e->second.pitch() == singlePitch)) { - int y1 = ctrl()->val2pixelR(e->second.velo(), th); - p.drawLine(pos, th, pos, y1); + (id == CTRL_SVELOCITY && ev.pitch() == singlePitch)) { + int y1 = ctrl()->val2pixelR(ev.velo(), th+3) + 1; + p.drawLine(pos, th+3, pos, y1); } } } } else { + p.setRenderHint(QPainter::Antialiasing, true); if (ctrl()->empty()) { if (aR) { - int y = ctrl()->cur2pixel(th); + int y = ctrl()->cur2pixel(th) + HANDLE2; p.drawLine(r.x(), y, r.x() + r.width(), y); } } @@ -184,7 +186,7 @@ void CtrlEditor::paint(QPainter& p, const QRect& r) } } if (!aR) { - int y = ctrl()->cur2pixel(th); + int y = ctrl()->cur2pixel(th) + HANDLE2; p.drawLine(r.x(), y, r.x() + r.width(), y); } } @@ -263,7 +265,7 @@ void CtrlEditor::mousePress(const QPoint& pos, QMouseEvent* me) song->startUndo(); else { // add controller: - CVal val = ctrl()->pixel2val(dragy, wh); + CVal val = ctrl()->pixel2val(dragy-HANDLE2, wh - HANDLE1 + splitWidth); song->cmdAddControllerVal(track(), ctrl(), selected, val); tc()->widget()->update(); } @@ -282,7 +284,7 @@ void CtrlEditor::mousePress(const QPoint& pos, QMouseEvent* me) ciCtrlVal s = ctrl()->upperBound(pos1.time(tt)); ciCtrlVal e = ctrl()->upperBound(pos2.time(tt)); for (ciCtrlVal i = s; i != e; ++i) { - int yy = ctrl()->val2pixelR(i.value(), wh); + int yy = ctrl()->val2pixelR(i.value(), wh - HANDLE1 + splitWidth) + HANDLE2; startY = yy; if ((yy >= (y-HANDLE2)) && (yy < (y + HANDLE2))) { if (tt == AL::TICKS) @@ -358,7 +360,7 @@ void CtrlEditor::mouseRelease() if (id == CTRL_VELOCITY || (CTRL_SVELOCITY && e->second.pitch() == singlePitch)) { int y = y1 + (y2 - y1) * (pos - from) / (to - from); - int val = (ctrl()->pixel2val(y, cheight())).i; + int val = (ctrl()->pixel2val(y+HANDLE2, cheight()-HANDLE1+splitWidth)).i; Event clone = e->second.clone(); clone.setB(val); song->changeEvent(e->second, clone, part); @@ -378,8 +380,8 @@ void CtrlEditor::mouseRelease() song->endUndo(SC_EVENT_MODIFIED); else { if (dragy != -1 && dragy != startY) { - int wh = cheight(); - CVal val = ctrl()->pixel2val(dragy, wh); + int wh = cheight() - HANDLE1 + splitWidth; + CVal val = ctrl()->pixel2val(dragy+HANDLE2, wh); // modify controller: song->cmdAddControllerVal(track(), ctrl(), selected, val); } @@ -407,8 +409,8 @@ void CtrlEditor::mouseMove(const QPoint& pos) AL::Pos p2(tc()->pix2pos(pos.x())); dragx = pos.x(); - int wh = cheight(); - int val = (ctrl()->pixel2val(pos.y(), wh)).i; + int wh = cheight() - HANDLE1 + splitWidth; + int val = (ctrl()->pixel2val(pos.y() - HANDLE2, wh)).i; unsigned tick1 = p1.tick(); Part* part = track()->parts()->findPart(tick1); if (part == 0) @@ -475,11 +477,13 @@ void CtrlEditor::mouseMove(const QPoint& pos) } } if (dragy != -1) { + int th = cheight() + splitWidth - HANDLE2 - 1; dragy = pos.y() + dragYoffset; - if (dragy < 0) - dragy = 0; - else if (dragy > cheight()) - dragy = cheight(); + if (dragy < HANDLE2) + dragy = HANDLE2; + else if (dragy > th) { + dragy = th; + } } } tc()->widget()->update(); diff --git a/muse/muse/ctrl/ctrleditor.h b/muse/muse/ctrl/ctrleditor.h index 97f12861..e33a8b29 100644 --- a/muse/muse/ctrl/ctrleditor.h +++ b/muse/muse/ctrl/ctrleditor.h @@ -38,6 +38,8 @@ class CtrlEditor { int dragYoffset; int startY; + int th; // effective track height, temp value + int lselected; // cached pixel position of current value AL::Pos selected; // current selected controller value diff --git a/muse/muse/gconfig.cpp b/muse/muse/gconfig.cpp index 840e75f7..46850dcc 100644 --- a/muse/muse/gconfig.cpp +++ b/muse/muse/gconfig.cpp @@ -70,8 +70,10 @@ GlobalConfigValues config = { 384, // division; 1024, // rtcTicks - -60, // int minMeter; - -60.0, // double minSlider; + -60.0, // minMeter (dB) + 10.0, // maxMeter (dB) + -60.0, // double minSlider (dB) + 10.0, // double maxSlider (dB) 20, // int guiRefresh; 2000, // peak hold time (ms) QString(""), // helpBrowser @@ -89,7 +91,7 @@ GlobalConfigValues config = { QRect(0, 0, 600, 400), // GeometryDrumedit; { QRect(0, 0, 300, 500), // Mixer1 - false, true, true, true, + false, true, true, true, true, true, true, true, true, true }, { diff --git a/muse/muse/gconfig.h b/muse/muse/gconfig.h index 1356fb22..8d22d227 100644 --- a/muse/muse/gconfig.h +++ b/muse/muse/gconfig.h @@ -73,8 +73,10 @@ struct GlobalConfigValues { int division; int rtcTicks; - int minMeter; + double minMeter; + double maxMeter; double minSlider; + double maxSlider; int guiRefresh; int peakHoldTime; // peak meter hold time (ms) QString helpBrowser; diff --git a/muse/muse/mixer/astrip.cpp b/muse/muse/mixer/astrip.cpp index 32ab4a3e..6f2720d1 100644 --- a/muse/muse/mixer/astrip.cpp +++ b/muse/muse/mixer/astrip.cpp @@ -91,7 +91,7 @@ AudioStrip::AudioStrip(Mixer* m, AudioTrack* t, bool align) //--------------------------------------------------- slider = new Awl::MeterSlider(this); - slider->setRange(config.minSlider-0.1f, 10.0f); + slider->setRange(config.minSlider, config.maxSlider); slider->setFixedWidth(60); slider->setChannel(channel); Ctrl* ctrl = t->getController(AC_VOLUME); @@ -199,7 +199,7 @@ AudioStrip::AudioStrip(Mixer* m, AudioTrack* t, bool align) rBox->addWidget(iR); connect(iR->menu(), SIGNAL(aboutToShow()), SLOT(iRouteShow())); connect(iR->menu(), SIGNAL(triggered(QAction*)), song, SLOT(routeChanged(QAction*))); - + oR = newOutRouteButton(); rBox->addWidget(oR); connect(oR->menu(), SIGNAL(aboutToShow()), SLOT(oRouteShow())); @@ -472,7 +472,7 @@ static void addAuxPorts(AudioTrack* track, QMenu* lb, const RouteList& rl) Route route = Route(RouteNode(p), RouteNode(track)); a->setData(QVariant::fromValue(route)); a->setChecked(rl.indexOf(route) != -1); - } + } } //--------------------------------------------------------- @@ -637,7 +637,7 @@ void AudioStrip::iRouteShow() addMidiTracks(m, track, ch, true); addMidiInPorts(m, track, ch); } - break; + break; } } diff --git a/muse/muse/preferences.cpp b/muse/muse/preferences.cpp index bcd1aa02..50c37e3d 100644 --- a/muse/muse/preferences.cpp +++ b/muse/muse/preferences.cpp @@ -269,7 +269,9 @@ PreferencesDialog::PreferencesDialog(Arranger* a, QWidget* parent) guiRefreshSelect->setValue(config->guiRefresh); minSliderSelect->setValue(int(config->minSlider)); - minMeterSelect->setValue(config->minMeter); + maxSliderSelect->setValue(int(config->maxSlider)); + minMeterSelect->setValue(int(config->minMeter)); + maxMeterSelect->setValue(int(config->maxMeter)); peakHoldTime->setValue(config->peakHoldTime); helpBrowser->setText(config->helpBrowser); startProjectEntry->setText(config->startProject); @@ -280,14 +282,14 @@ PreferencesDialog::PreferencesDialog(Arranger* a, QWidget* parent) startProjectGroup->addButton(startWithProject); switch(config->startMode) { - case START_ASK_FOR_PROJECT: - alwaysAsk->setChecked(true); + case START_ASK_FOR_PROJECT: + alwaysAsk->setChecked(true); break; - case START_LAST_PROJECT: - startWithLastProject->setChecked(true); + case START_LAST_PROJECT: + startWithLastProject->setChecked(true); break; - case START_START_PROJECT: - startWithProject->setChecked(true); + case START_START_PROJECT: + startWithProject->setChecked(true); break; } @@ -463,26 +465,26 @@ void PreferencesDialog::apply() int showPartEvent = 0; int showPartType = 0; - if (partShownames->isChecked()) + if (partShownames->isChecked()) showPartType |= 1; - if (partShowevents->isChecked()) + if (partShowevents->isChecked()) showPartType |= 2; - if (partShowCakes->isChecked()) + if (partShowCakes->isChecked()) showPartType |= 4; - if (eventNoteon->isChecked()) + if (eventNoteon->isChecked()) showPartEvent |= (1 << 0); - if (eventPolypressure->isChecked()) + if (eventPolypressure->isChecked()) showPartEvent |= (1 << 1); - if (eventController->isChecked()) + if (eventController->isChecked()) showPartEvent |= (1 << 2); - if (eventProgramchange->isChecked()) + if (eventProgramchange->isChecked()) showPartEvent |= (1 << 3); - if (eventAftertouch->isChecked()) + if (eventAftertouch->isChecked()) showPartEvent |= (1 << 4); - if (eventPitchbend->isChecked()) + if (eventPitchbend->isChecked()) showPartEvent |= (1 << 5); - if (eventSpecial->isChecked()) + if (eventSpecial->isChecked()) showPartEvent |= (1 << 6); config->canvasUseBgPixmap = usePixmap->isChecked(); @@ -542,7 +544,9 @@ void PreferencesDialog::apply() ::config.guiRefresh = guiRefreshSelect->value(); ::config.minSlider = minSliderSelect->value(); + ::config.maxSlider = maxSliderSelect->value(); ::config.minMeter = minMeterSelect->value(); + ::config.maxMeter = maxMeterSelect->value(); ::config.peakHoldTime = peakHoldTime->value(); ::config.rtcTicks = rtcResolutions[rtcticks]; ::config.guiDivision = divisions[div]; diff --git a/muse/muse/preferences.ui b/muse/muse/preferences.ui index 1c3d5ca5..ca65292b 100644 --- a/muse/muse/preferences.ui +++ b/muse/muse/preferences.ui @@ -22,7 +22,7 @@ <item> <widget class="QTabWidget" name="tabWidget" > <property name="currentIndex" > - <number>0</number> + <number>2</number> </property> <widget class="QWidget" name="tab" > <attribute name="title" > @@ -1042,47 +1042,102 @@ <property name="spacing" > <number>6</number> </property> - <item row="0" column="3" > - <widget class="QSpinBox" name="peakHoldTime" > + <item row="0" column="0" > + <widget class="QLabel" name="label_7" > + <property name="text" > + <string>Slider Val, Min:</string> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QSpinBox" name="minSliderSelect" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="suffix" > - <string>ms</string> + <string>dB</string> </property> <property name="maximum" > - <number>5000</number> + <number>0</number> </property> <property name="minimum" > - <number>20</number> + <number>-100</number> + </property> + <property name="value" > + <number>-60</number> </property> </widget> </item> <item row="0" column="2" > + <widget class="QLabel" name="label_39" > + <property name="text" > + <string>Max:</string> + </property> + <property name="alignment" > + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item row="0" column="3" > + <widget class="QSpinBox" name="maxSliderSelect" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="suffix" > + <string>dB</string> + </property> + <property name="value" > + <number>10</number> + </property> + </widget> + </item> + <item row="0" column="4" > <widget class="QLabel" name="label_20" > <property name="text" > <string>Peak Hold Time:</string> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QSpinBox" name="minMeterSelect" > + <item row="0" column="5" > + <widget class="QSpinBox" name="peakHoldTime" > <property name="suffix" > - <string>dB</string> + <string>ms</string> </property> <property name="maximum" > - <number>0</number> + <number>5000</number> </property> <property name="minimum" > - <number>-100</number> - </property> - <property name="singleStep" > - <number>10</number> + <number>20</number> </property> - <property name="value" > - <number>-60</number> + </widget> + </item> + <item row="1" column="0" > + <widget class="QLabel" name="label_8" > + <property name="text" > + <string>Meter Val, Min:</string> </property> </widget> </item> - <item row="0" column="1" > - <widget class="QSpinBox" name="minSliderSelect" > + <item row="1" column="1" > + <widget class="QSpinBox" name="minMeterSelect" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="suffix" > <string>dB</string> </property> @@ -1092,22 +1147,42 @@ <property name="minimum" > <number>-100</number> </property> + <property name="singleStep" > + <number>10</number> + </property> <property name="value" > <number>-60</number> </property> </widget> </item> - <item row="1" column="0" > - <widget class="QLabel" name="label_8" > + <item row="1" column="2" > + <widget class="QLabel" name="label_40" > <property name="text" > - <string>min. Meter Val</string> + <string>Max:</string> + </property> + <property name="alignment" > + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> </item> - <item row="0" column="0" > - <widget class="QLabel" name="label_7" > - <property name="text" > - <string>min. Slider Val</string> + <item row="1" column="3" > + <widget class="QSpinBox" name="maxMeterSelect" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="suffix" > + <string>dB</string> + </property> + <property name="maximum" > + <number>40</number> + </property> + <property name="value" > + <number>10</number> </property> </widget> </item> @@ -2285,6 +2360,11 @@ </widget> <customwidgets> <customwidget> + <class>RecordButton</class> + <extends>QToolButton</extends> + <header>recordbutton.h</header> + </customwidget> + <customwidget> <class>RasterCombo</class> <extends>QComboBox</extends> <header>rastercombo.h</header> @@ -2299,11 +2379,6 @@ <extends>QToolButton</extends> <header>greendotbutton.h</header> </customwidget> - <customwidget> - <class>RecordButton</class> - <extends>QToolButton</extends> - <header>recordbutton.h</header> - </customwidget> </customwidgets> <resources/> <connections> |