summaryrefslogtreecommitdiff
path: root/muse2/muse/widgets
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2012-10-09 20:04:43 +0000
committerTim E. Real <termtech@rogers.com>2012-10-09 20:04:43 +0000
commit0368494d2ba85b24da193512972ccfeada99cf52 (patch)
treefff25f5a6aecdd722c98a938fa9b03f1fec9febc /muse2/muse/widgets
parentc5e6b8cfa9d8615a32ce2aad28f4d091482be91d (diff)
!!! Song type is now removed !!! : See ChangeLog
Diffstat (limited to 'muse2/muse/widgets')
-rw-r--r--muse2/muse/widgets/configmidifilebase.ui442
-rw-r--r--muse2/muse/widgets/gensetbase.ui4
-rw-r--r--muse2/muse/widgets/mtrackinfo.cpp16
-rw-r--r--muse2/muse/widgets/musewidgetsplug.cpp6
4 files changed, 347 insertions, 121 deletions
diff --git a/muse2/muse/widgets/configmidifilebase.ui b/muse2/muse/widgets/configmidifilebase.ui
index 3eb7063e..50e28c19 100644
--- a/muse2/muse/widgets/configmidifilebase.ui
+++ b/muse2/muse/widgets/configmidifilebase.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>546</width>
- <height>367</height>
+ <width>408</width>
+ <height>537</height>
</rect>
</property>
<property name="windowTitle">
@@ -16,8 +16,8 @@
<property name="sizeGripEnabled">
<bool>true</bool>
</property>
- <layout class="QVBoxLayout">
- <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
<widget class="QGroupBox" name="midiImportGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
@@ -28,8 +28,55 @@
<property name="title">
<string>Import:</string>
</property>
- <layout class="QGridLayout">
+ <layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Default instrument:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="importDefaultInstr">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>164</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0" colspan="3">
+ <widget class="QCheckBox" name="importDevNameMetas">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Device Name metas trump Port metas if both exist</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="3">
+ <widget class="QCheckBox" name="importInstrNameMetas">
+ <property name="text">
+ <string>Instrument Name metas trump Mode sysexes if both exist</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="splitPartsCheckBox">
<property name="toolTip">
<string>Split tracks into parts, or one single part</string>
@@ -42,7 +89,7 @@
</property>
</widget>
</item>
- <item row="1" column="0">
+ <item row="4" column="0" colspan="3">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QRadioButton" name="newDrumsCheckbox">
@@ -56,6 +103,12 @@
</item>
<item>
<widget class="QRadioButton" name="oldDrumsCheckbox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
<string>Use old-style drum tracks</string>
</property>
@@ -66,7 +119,62 @@
</layout>
</widget>
</item>
- <item>
+ <item row="3" column="0">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <spacer name="Horizontal Spacing2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="buttonOk">
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="shortcut">
+ <string/>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="buttonCancel">
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ <property name="shortcut">
+ <string/>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
<widget class="QGroupBox" name="midiExportGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
@@ -77,12 +185,61 @@
<property name="title">
<string>Export:</string>
</property>
- <layout class="QGridLayout">
- <item row="3" column="1">
- <widget class="QLineEdit" name="copyrightEdit"/>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="textLabel3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Format:</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
</item>
- <item row="2" column="1">
+ <item row="0" column="1">
+ <widget class="QComboBox" name="formatCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <item>
+ <property name="text">
+ <string>0 (single track)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>1 (multiple tracks)</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="textLabel1">
+ <property name="text">
+ <string>Division:</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
<widget class="QComboBox" name="divisionCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<item>
<property name="text">
<string>96</string>
@@ -100,73 +257,80 @@
</item>
</widget>
</item>
- <item row="4" column="0" colspan="2">
- <widget class="QCheckBox" name="extendedFormat">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Enable extended smf format (currently not implemented)</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0" colspan="2">
- <widget class="QCheckBox" name="twoByteTimeSigs">
- <property name="text">
- <string>Use &amp;2-byte time signatures instead of standard 4</string>
+ <item row="0" column="4">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="shortcut">
- <string>Alt+2</string>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>59</width>
+ <height>20</height>
+ </size>
</property>
- </widget>
+ </spacer>
</item>
- <item row="3" column="0">
- <widget class="QLabel" name="textLabel2">
- <property name="text">
- <string>Copyright:</string>
+ <item row="1" column="0" colspan="5">
+ <widget class="QLabel" name="textLabel4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- <property name="wordWrap">
- <bool>false</bool>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
</property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="textLabel3">
<property name="text">
- <string>Format:</string>
+ <string>Note: Format 0 uses the FIRST midi track's name/comment in the arranger</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="1" column="0" colspan="2">
- <widget class="QLabel" name="textLabel4">
+ <item row="2" column="0">
+ <widget class="QLabel" name="textLabel2">
<property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
+ <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
- <string>Note: Format 0 uses the FIRST midi track's name/comment in the arranger</string>
+ <string>Copyright:</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="textLabel1">
+ <item row="2" column="1" colspan="4">
+ <widget class="QLineEdit" name="copyrightEdit"/>
+ </item>
+ <item row="3" column="0" colspan="5">
+ <widget class="QCheckBox" name="extendedFormat">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
<property name="text">
- <string>Division:</string>
+ <string>Enable extended smf format (currently not implemented)</string>
</property>
- <property name="wordWrap">
- <bool>false</bool>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="4">
+ <widget class="QCheckBox" name="twoByteTimeSigs">
+ <property name="text">
+ <string>Use &amp;2-byte time signatures instead of standard 4</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+2</string>
</property>
</widget>
</item>
- <item row="6" column="0" colspan="2">
+ <item row="5" column="0" colspan="5">
<widget class="QCheckBox" name="optNoteOffs">
<property name="text">
<string>Save space by replacing note-offs with &amp;zero velocity note-ons</string>
@@ -176,77 +340,133 @@
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QComboBox" name="formatCombo">
- <item>
- <property name="text">
- <string>0 (single track)</string>
+ <item row="6" column="0" colspan="5">
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <property name="spacing">
+ <number>6</number>
</property>
- </item>
- <item>
- <property name="text">
- <string>1 (multiple tracks)</string>
+ <property name="margin">
+ <number>0</number>
</property>
- </item>
+ <item>
+ <widget class="QRadioButton" name="exportModeSysexes">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Mode sysexes</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="exportInstrumentNames">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Instrument name metas</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="exportModeAndInstrName">
+ <property name="text">
+ <string>Both</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="7" column="0" colspan="5">
+ <widget class="QFrame" name="frame_2">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="exportPortMetas">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Port metas</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="exportDeviceNameMetas">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Device name metas</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="exportPortAndDeviceNameMetas">
+ <property name="text">
+ <string>Both</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="8" column="0" colspan="3">
+ <widget class="QCheckBox" name="exportPortDeviceSMF0">
+ <property name="text">
+ <string>Export a Port/Device meta for format 0</string>
+ </property>
</widget>
</item>
</layout>
</widget>
</item>
- <item>
- <layout class="QHBoxLayout">
- <property name="spacing">
- <number>6</number>
+ <item row="2" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
</property>
- <property name="margin">
- <number>0</number>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
</property>
- <item>
- <spacer name="Horizontal Spacing2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="buttonOk">
- <property name="text">
- <string>&amp;OK</string>
- </property>
- <property name="shortcut">
- <string/>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- <property name="default">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="buttonCancel">
- <property name="text">
- <string>&amp;Cancel</string>
- </property>
- <property name="shortcut">
- <string/>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
+ </spacer>
</item>
</layout>
</widget>
diff --git a/muse2/muse/widgets/gensetbase.ui b/muse2/muse/widgets/gensetbase.ui
index f1dc405b..c204b9f4 100644
--- a/muse2/muse/widgets/gensetbase.ui
+++ b/muse2/muse/widgets/gensetbase.ui
@@ -1526,7 +1526,7 @@ left button behave like the middle button in such areas.</string>
<property name="title">
<string>Drum tracks</string>
</property>
- <layout class="QGridLayout" name="gridLayout">
+ <layout class="QGridLayout" name="gridLayout9">
<item row="0" column="0">
<widget class="QRadioButton" name="onlyOldDrumBtn">
<property name="text">
@@ -1559,7 +1559,7 @@ left button behave like the middle button in such areas.</string>
</widget>
</item>
<item>
- <spacer name="verticalSpacer_2">
+ <spacer name="verticalSpacer_21">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
diff --git a/muse2/muse/widgets/mtrackinfo.cpp b/muse2/muse/widgets/mtrackinfo.cpp
index 1b98f100..23c7bf34 100644
--- a/muse2/muse/widgets/mtrackinfo.cpp
+++ b/muse2/muse/widgets/mtrackinfo.cpp
@@ -407,7 +407,7 @@ void MidiTrackInfo::heartBeat()
else
{
MusECore::MidiInstrument* instr = mp->instrument();
- QString name = instr->getPatchName(outChannel, nprogram, MusEGlobal::song->mtype(), track->isDrumTrack());
+ QString name = instr->getPatchName(outChannel, nprogram, track->isDrumTrack());
if(name.isEmpty())
{
const QString n("???");
@@ -448,7 +448,7 @@ void MidiTrackInfo::heartBeat()
//else
//{
MusECore::MidiInstrument* instr = mp->instrument();
- QString name = instr->getPatchName(outChannel, program, MusEGlobal::song->mtype(), track->isDrumTrack());
+ QString name = instr->getPatchName(outChannel, program, track->isDrumTrack());
if(iPatch->text() != name)
iPatch->setText(name);
@@ -827,7 +827,7 @@ void MidiTrackInfo::iProgHBankChanged()
MusEGlobal::audio->msgPlayMidiEvent(&ev);
MusECore::MidiInstrument* instr = mp->instrument();
- iPatch->setText(instr->getPatchName(channel, program, MusEGlobal::song->mtype(), track->isDrumTrack()));
+ iPatch->setText(instr->getPatchName(channel, program, track->isDrumTrack()));
// updateTrackInfo();
}
@@ -905,7 +905,7 @@ void MidiTrackInfo::iProgLBankChanged()
MusEGlobal::audio->msgPlayMidiEvent(&ev);
MusECore::MidiInstrument* instr = mp->instrument();
- iPatch->setText(instr->getPatchName(channel, program, MusEGlobal::song->mtype(), track->isDrumTrack()));
+ iPatch->setText(instr->getPatchName(channel, program, track->isDrumTrack()));
// updateTrackInfo();
}
@@ -983,7 +983,7 @@ void MidiTrackInfo::iProgramChanged()
MusEGlobal::audio->msgPlayMidiEvent(&ev);
MusECore::MidiInstrument* instr = mp->instrument();
- iPatch->setText(instr->getPatchName(channel, program, MusEGlobal::song->mtype(), track->isDrumTrack()));
+ iPatch->setText(instr->getPatchName(channel, program, track->isDrumTrack()));
}
// updateTrackInfo();
@@ -1150,7 +1150,7 @@ void MidiTrackInfo::instrPopup()
MusECore::MidiInstrument* instr = MusEGlobal::midiPorts[port].instrument();
PopupMenu* pup = new PopupMenu(true);
- instr->populatePatchPopup(pup, channel, MusEGlobal::song->mtype(), track->isDrumTrack());
+ instr->populatePatchPopup(pup, channel, track->isDrumTrack());
if(pup->actions().count() == 0)
{
@@ -1479,7 +1479,7 @@ void MidiTrackInfo::updateTrackInfo(MusECore::SongChangedFlags_t flags)
else
{
MusECore::MidiInstrument* instr = mp->instrument();
- iPatch->setText(instr->getPatchName(outChannel, nprogram, MusEGlobal::song->mtype(), track->isDrumTrack()));
+ iPatch->setText(instr->getPatchName(outChannel, nprogram, track->isDrumTrack()));
}
}
else
@@ -1495,7 +1495,7 @@ void MidiTrackInfo::updateTrackInfo(MusECore::SongChangedFlags_t flags)
//else
//{
MusECore::MidiInstrument* instr = mp->instrument();
- iPatch->setText(instr->getPatchName(outChannel, program, MusEGlobal::song->mtype(), track->isDrumTrack()));
+ iPatch->setText(instr->getPatchName(outChannel, program, track->isDrumTrack()));
int hb = ((program >> 16) & 0xff) + 1;
if (hb == 0x100)
diff --git a/muse2/muse/widgets/musewidgetsplug.cpp b/muse2/muse/widgets/musewidgetsplug.cpp
index 9c82b5f5..83a9fca9 100644
--- a/muse2/muse/widgets/musewidgetsplug.cpp
+++ b/muse2/muse/widgets/musewidgetsplug.cpp
@@ -169,6 +169,12 @@ MusEGlobal::GlobalConfigValues config = {
true, // optimize midi export file note offs
true, // Split imported tracks into multiple parts.
true, // importMidiNewStyleDrum
+ true, // importDevNameMetas Import Prefer Device Name metas over port number metas if both exist.
+ true, // importInstrNameMetas Import Prefer Instrument Name metas over Mode sysexes if both exist.
+ MusEGlobal::EXPORT_PORTS_DEVICES_ALL, // exportPortsDevices Export port number metas and/or device name metas.
+ true, // exportPortDeviceSMF0 Export a port and/or device meta even for SMF0.
+ MusEGlobal::EXPORT_MODE_INSTR_ALL, // exportModeInstr Export mode sysexes and/or instrument name metas.
+ QString("GM"), // importMidiDefaultInstr Default to this instrument not Generic, if no match found
1, // startMode
QString(""), // start song path
false, // startSongLoadConfig