summaryrefslogtreecommitdiff
path: root/muse2/muse/widgets
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2012-10-27 09:58:29 +0000
committerTim E. Real <termtech@rogers.com>2012-10-27 09:58:29 +0000
commitb1776f093d4b87ad2635990f429f4503157f6288 (patch)
treea18bcc5e23674d74037c87e0541f9feefdc7b9ca /muse2/muse/widgets
parentb297348e8e2cd76be6f1d546fb458865cc4d263b (diff)
Improved: Velocity graphs. Icon for showing per-note or all velocities. Also found in Settings.
Improved: Piano KB has current selected note (yellow). For velocity/polyaftertouch/other per-note ctrls. Bad timing warning now has "don't show again". Added 'speaker' icon to drum edit. And drum list and piano keyboard now obey the 'speaker' icon.
Diffstat (limited to 'muse2/muse/widgets')
-rw-r--r--muse2/muse/widgets/CMakeLists.txt3
-rw-r--r--muse2/muse/widgets/genset.cpp4
-rw-r--r--muse2/muse/widgets/gensetbase.ui91
-rw-r--r--muse2/muse/widgets/midi_warn_init_pending_impl.h2
-rw-r--r--muse2/muse/widgets/musewidgetsplug.cpp4
-rw-r--r--muse2/muse/widgets/warn_bad_timing.cpp33
-rw-r--r--muse2/muse/widgets/warn_bad_timing.h41
-rw-r--r--muse2/muse/widgets/warn_bad_timing.ui111
8 files changed, 252 insertions, 37 deletions
diff --git a/muse2/muse/widgets/CMakeLists.txt b/muse2/muse/widgets/CMakeLists.txt
index 3aad8b92..3808a99f 100644
--- a/muse2/muse/widgets/CMakeLists.txt
+++ b/muse2/muse/widgets/CMakeLists.txt
@@ -105,6 +105,7 @@ QT4_WRAP_CPP (widget_mocs
view.h
vscale.h
visibletracks.h
+ warn_bad_timing.h
)
##
@@ -142,6 +143,7 @@ file (GLOB widgets_ui_files
tracks_duplicate_base.ui
transformbase.ui
unusedwavefiles.ui
+ warn_bad_timing.ui
)
QT4_WRAP_UI (widget_ui_headers ${widgets_ui_files})
@@ -229,6 +231,7 @@ file (GLOB widgets_source_files
view.cpp
vscale.cpp
visibletracks.cpp
+ warn_bad_timing.cpp
)
##
diff --git a/muse2/muse/widgets/genset.cpp b/muse2/muse/widgets/genset.cpp
index 5c4b2dfb..7063b960 100644
--- a/muse2/muse/widgets/genset.cpp
+++ b/muse2/muse/widgets/genset.cpp
@@ -153,6 +153,7 @@ void GlobalSettingsConfig::updateSettings()
}
}
+ warnIfBadTimingCheckBox->setChecked(MusEGlobal::config.warnIfBadTiming);
midiSendInit->setChecked(MusEGlobal::config.midiSendInit);
midiWarnInitPending->setChecked(MusEGlobal::config.warnInitPending);
midiSendCtlDefaults->setChecked(MusEGlobal::config.midiSendCtlDefaults);
@@ -220,6 +221,7 @@ void GlobalSettingsConfig::updateSettings()
lmbDecreasesCheckBox->setChecked(MusEGlobal::config.leftMouseButtonCanDecrease);
rangeMarkerWithoutMMBCheckBox->setChecked(MusEGlobal::config.rangeMarkerWithoutMMB);
smartFocusCheckBox->setChecked(MusEGlobal::config.smartFocus);
+ velocityPerNoteCheckBox->setChecked(MusEGlobal::config.velocityPerNote);
addHiddenCheckBox->setChecked(MusEGlobal::config.addHiddenTracks);
unhideTracksCheckBox->setChecked(MusEGlobal::config.unhideTracks);
@@ -272,6 +274,7 @@ void GlobalSettingsConfig::apply()
MusEGlobal::config.useOutputLimiter = outputLimiterCheckBox->isChecked();
MusEGlobal::config.vstInPlace = vstInPlaceCheckBox->isChecked();
MusEGlobal::config.rtcTicks = rtcResolutions[rtcticks];
+ MusEGlobal::config.warnIfBadTiming = warnIfBadTimingCheckBox->isChecked();
MusEGlobal::config.midiSendInit = midiSendInit->isChecked();
MusEGlobal::config.warnInitPending = midiWarnInitPending->isChecked();
MusEGlobal::config.midiSendCtlDefaults = midiSendCtlDefaults->isChecked();
@@ -335,6 +338,7 @@ void GlobalSettingsConfig::apply()
MusEGlobal::config.leftMouseButtonCanDecrease = lmbDecreasesCheckBox->isChecked();
MusEGlobal::config.rangeMarkerWithoutMMB = rangeMarkerWithoutMMBCheckBox->isChecked();
MusEGlobal::config.smartFocus = smartFocusCheckBox->isChecked();
+ MusEGlobal::config.velocityPerNote = velocityPerNoteCheckBox->isChecked();
MusEGlobal::config.addHiddenTracks = addHiddenCheckBox->isChecked();
MusEGlobal::config.unhideTracks = unhideTracksCheckBox->isChecked();
diff --git a/muse2/muse/widgets/gensetbase.ui b/muse2/muse/widgets/gensetbase.ui
index 30d823ec..35c2d2b2 100644
--- a/muse2/muse/widgets/gensetbase.ui
+++ b/muse2/muse/widgets/gensetbase.ui
@@ -1116,7 +1116,7 @@ Adjusts responsiveness of audio controls and
<string>Ticks</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0" rowspan="2">
+ <item row="1" column="0" rowspan="2">
<widget class="QLabel" name="TextLabel3">
<property name="text">
<string>RTC Resolution
@@ -1127,7 +1127,7 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="0" column="1">
+ <item row="1" column="1">
<widget class="QComboBox" name="rtcResolutionSelect">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@@ -1167,7 +1167,7 @@ Adjusts responsiveness of audio controls and
</item>
</widget>
</item>
- <item row="1" column="1" rowspan="2">
+ <item row="2" column="1" rowspan="2">
<widget class="QComboBox" name="midiDivisionSelect">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@@ -1225,7 +1225,7 @@ Adjusts responsiveness of audio controls and
</item>
</widget>
</item>
- <item row="2" column="0">
+ <item row="3" column="0">
<widget class="QLabel" name="midiResLabel">
<property name="text">
<string>Midi Resolution
@@ -1236,7 +1236,7 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="3" column="0">
+ <item row="4" column="0">
<widget class="QLabel" name="TextLabel4">
<property name="text">
<string>Displayed Resolution
@@ -1247,7 +1247,7 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="3" column="1">
+ <item row="4" column="1">
<widget class="QComboBox" name="guiDivisionSelect">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@@ -1305,6 +1305,13 @@ Adjusts responsiveness of audio controls and
</item>
</widget>
</item>
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="warnIfBadTimingCheckBox">
+ <property name="text">
+ <string>Warn if timer frequency is inadequate</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
@@ -1326,7 +1333,7 @@ Adjusts responsiveness of audio controls and
<property name="title">
<string>Behavior</string>
</property>
- <layout class="QGridLayout">
+ <layout class="QGridLayout" name="gridLayout7">
<item row="0" column="0">
<widget class="QLabel" name="TextLabel1">
<property name="text">
@@ -1337,7 +1344,7 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="0" column="1">
+ <item row="0" column="2">
<widget class="QSpinBox" name="guiRefreshSelect">
<property name="suffix">
<string>/sec</string>
@@ -1363,7 +1370,7 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="1" column="1">
+ <item row="1" column="2">
<widget class="QCheckBox" name="oldStyleStopCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -1376,7 +1383,7 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="2" column="0">
+ <item row="2" column="0" colspan="2">
<widget class="QLabel" name="textLabel1_4_2">
<property name="text">
<string>Move single armed track with selection</string>
@@ -1386,7 +1393,7 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="2" column="1">
+ <item row="2" column="2">
<widget class="QCheckBox" name="moveArmedCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -1409,7 +1416,7 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="3" column="1">
+ <item row="3" column="2">
<widget class="QCheckBox" name="projectSaveCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -1422,7 +1429,7 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="4" column="0">
+ <item row="4" column="0" colspan="2">
<widget class="QLabel" name="TextLabel1_3">
<property name="toolTip">
<string/>
@@ -1432,7 +1439,7 @@ Adjusts responsiveness of audio controls and
</property>
</widget>
</item>
- <item row="4" column="1">
+ <item row="4" column="2">
<widget class="QCheckBox" name="popsDefStayOpenCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -1449,7 +1456,7 @@ Otherwise, hold Ctrl to keep them open.</string>
</property>
</widget>
</item>
- <item row="5" column="0">
+ <item row="5" column="0" colspan="2">
<widget class="QLabel" name="label_2">
<property name="toolTip">
<string>In some areas, the middle mouse button decreases
@@ -1462,7 +1469,7 @@ left button behave like the middle button in such areas.</string>
</property>
</widget>
</item>
- <item row="5" column="1">
+ <item row="5" column="2">
<widget class="QCheckBox" name="lmbDecreasesCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -1475,7 +1482,14 @@ left button behave like the middle button in such areas.</string>
</property>
</widget>
</item>
- <item row="6" column="1">
+ <item row="6" column="0" colspan="2">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Shift + Right click sets left range marker</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="2">
<widget class="QCheckBox" name="rangeMarkerWithoutMMBCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -1488,42 +1502,35 @@ left button behave like the middle button in such areas.</string>
</property>
</widget>
</item>
- <item row="6" column="0">
- <widget class="QLabel" name="label_3">
+ <item row="7" column="0" colspan="2">
+ <widget class="QLabel" name="label_4">
<property name="text">
- <string>Shift + Right click sets left range marker</string>
+ <string>Allow adding hidden tracks in track list menu</string>
</property>
</widget>
</item>
- <item row="7" column="1">
+ <item row="7" column="2">
<widget class="QCheckBox" name="addHiddenCheckBox">
<property name="text">
<string/>
</property>
</widget>
</item>
- <item row="7" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Allow adding hidden tracks in track list menu</string>
- </property>
- </widget>
- </item>
- <item row="8" column="0">
+ <item row="8" column="0" colspan="2">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Unhide tracks when adding hidden tracks</string>
</property>
</widget>
</item>
- <item row="8" column="1">
+ <item row="8" column="2">
<widget class="QCheckBox" name="unhideTracksCheckBox">
<property name="text">
<string/>
</property>
</widget>
</item>
- <item row="9" column="0">
+ <item row="9" column="0" colspan="2">
<widget class="QLabel" name="label5">
<property name="text">
<string>Smart focus</string>
@@ -1533,7 +1540,7 @@ left button behave like the middle button in such areas.</string>
</property>
</widget>
</item>
- <item row="9" column="1">
+ <item row="9" column="2">
<widget class="QCheckBox" name="smartFocusCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -1553,7 +1560,21 @@ left button behave like the middle button in such areas.</string>
</property>
</widget>
</item>
- <item row="10" column="0">
+ <item row="10" column="0" colspan="2">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Show midi velocity graphs per-note</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="2">
+ <widget class="QCheckBox" name="velocityPerNoteCheckBox">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -1677,8 +1698,8 @@ left button behave like the middle button in such areas.</string>
<rect>
<x>0</x>
<y>0</y>
- <width>96</width>
- <height>26</height>
+ <width>474</width>
+ <height>410</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
diff --git a/muse2/muse/widgets/midi_warn_init_pending_impl.h b/muse2/muse/widgets/midi_warn_init_pending_impl.h
index d24ee129..3a4b8c50 100644
--- a/muse2/muse/widgets/midi_warn_init_pending_impl.h
+++ b/muse2/muse/widgets/midi_warn_init_pending_impl.h
@@ -37,4 +37,4 @@ public:
} // namespace MusEGui
-#endif \ No newline at end of file
+#endif
diff --git a/muse2/muse/widgets/musewidgetsplug.cpp b/muse2/muse/widgets/musewidgetsplug.cpp
index 70cdcd0f..967ab9ac 100644
--- a/muse2/muse/widgets/musewidgetsplug.cpp
+++ b/muse2/muse/widgets/musewidgetsplug.cpp
@@ -54,7 +54,7 @@ static const char* valu[] = {
};
MusEGlobal::GlobalConfigValues config = {
- 190, // globalAlphaBlend
+ 170, // globalAlphaBlend
{
QColor(0xff, 0xff, 0xff), // palette
QColor(0xff, 0xff, 0xff),
@@ -158,6 +158,8 @@ MusEGlobal::GlobalConfigValues config = {
true, // midiSendInit Send instrument initialization sequences
true, // warnInitPending Warn instrument initialization sequences pending
false, // midiSendCtlDefaults Send instrument controller defaults at position 0 if none in song
+ true, // warnIfBadTiming Warn if timer res not good
+ false, // velocityPerNote Whether to show per-note or all velocities
-60, // int minMeter;
-60.0, // double minSlider;
false, // use Jack freewheel
diff --git a/muse2/muse/widgets/warn_bad_timing.cpp b/muse2/muse/widgets/warn_bad_timing.cpp
new file mode 100644
index 00000000..38721d36
--- /dev/null
+++ b/muse2/muse/widgets/warn_bad_timing.cpp
@@ -0,0 +1,33 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// warn_bad_timing.cpp
+// (C) Copyright 2012 Tim E. Real (terminator356 on users dot sourceforge dot net)
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; version 2 of
+// the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+//=========================================================
+
+#include "warn_bad_timing.h"
+
+namespace MusEGui {
+
+WarnBadTimingDialog::WarnBadTimingDialog()
+{
+ setupUi(this);
+}
+
+} // namespace MusEGui
+
diff --git a/muse2/muse/widgets/warn_bad_timing.h b/muse2/muse/widgets/warn_bad_timing.h
new file mode 100644
index 00000000..4e6ce77e
--- /dev/null
+++ b/muse2/muse/widgets/warn_bad_timing.h
@@ -0,0 +1,41 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// warn_bad_timing.h
+// (C) Copyright 2012 Tim E. Real (terminator356 on users dot sourceforge dot net)
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; version 2 of
+// the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+//=========================================================
+#ifndef __WARN_BAD_TIMING_H__
+#define __WARN_BAD_TIMING_H__
+
+#include "ui_warn_bad_timing.h"
+
+namespace MusEGui {
+
+class WarnBadTimingDialog : public QDialog, public Ui::warnBadTimingBase
+{
+ Q_OBJECT
+
+public:
+ WarnBadTimingDialog();
+ bool dontAsk() const { return dontAskAgain->isChecked(); }
+ void setLabelText(const QString& s) { label->setText(s); }
+};
+
+} // namespace MusEGui
+
+#endif
diff --git a/muse2/muse/widgets/warn_bad_timing.ui b/muse2/muse/widgets/warn_bad_timing.ui
new file mode 100644
index 00000000..7c92850f
--- /dev/null
+++ b/muse2/muse/widgets/warn_bad_timing.ui
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>warnBadTimingBase</class>
+ <widget class="QDialog" name="warnBadTimingBase">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>371</width>
+ <height>207</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="windowTitle">
+ <string>Bad timing</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Message here</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::AutoText</enum>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="dontAskAgain">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Don't ask me again</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>warnBadTimingBase</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>warnBadTimingBase</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>