summaryrefslogtreecommitdiffstats
path: root/src/gui/dialogs/SplitByPitchDialog.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-03-01 18:37:05 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-03-01 18:37:05 +0000
commit145364a8af6a1fec06556221e66d4b724a62fc9a (patch)
tree53bd71a544008c518034f208d64c932dc2883f50 /src/gui/dialogs/SplitByPitchDialog.cpp
downloadrosegarden-145364a8af6a1fec06556221e66d4b724a62fc9a.tar.gz
rosegarden-145364a8af6a1fec06556221e66d4b724a62fc9a.zip
Added old abandoned KDE3 version of the RoseGarden MIDI tool
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/rosegarden@1097595 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/gui/dialogs/SplitByPitchDialog.cpp')
-rw-r--r--src/gui/dialogs/SplitByPitchDialog.cpp111
1 files changed, 111 insertions, 0 deletions
diff --git a/src/gui/dialogs/SplitByPitchDialog.cpp b/src/gui/dialogs/SplitByPitchDialog.cpp
new file mode 100644
index 0000000..9b3dffa
--- /dev/null
+++ b/src/gui/dialogs/SplitByPitchDialog.cpp
@@ -0,0 +1,111 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
+
+/*
+ Rosegarden
+ A MIDI and audio sequencer and musical notation editor.
+
+ This program is Copyright 2000-2008
+ Guillaume Laurent <[email protected]>,
+ Chris Cannam <[email protected]>,
+ Richard Bown <[email protected]>
+
+ The moral rights of Guillaume Laurent, Chris Cannam, and Richard
+ Bown to claim authorship of this work have been asserted.
+
+ Other copyrights also apply to some parts of this work. Please
+ see the AUTHORS file and individual file headers for details.
+
+ 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; either version 2 of the
+ License, or (at your option) any later version. See the file
+ COPYING included with this distribution for more information.
+*/
+
+
+#include "SplitByPitchDialog.h"
+
+#include <klocale.h>
+#include "commands/segment/SegmentSplitByPitchCommand.h"
+#include "gui/general/ClefIndex.h"
+#include "gui/widgets/PitchChooser.h"
+#include <kcombobox.h>
+#include <kdialogbase.h>
+#include <qcheckbox.h>
+#include <qframe.h>
+#include <qlabel.h>
+#include <qvbox.h>
+#include <qwidget.h>
+#include <qlayout.h>
+
+
+namespace Rosegarden
+{
+
+SplitByPitchDialog::SplitByPitchDialog(QWidget *parent) :
+ KDialogBase(parent, 0, true, i18n("Split by Pitch"), Ok | Cancel)
+{
+ QVBox *vBox = makeVBoxMainWidget();
+
+ QFrame *frame = new QFrame(vBox);
+
+ QGridLayout *layout = new QGridLayout(frame, 4, 3, 10, 5);
+
+ m_pitch = new PitchChooser(i18n("Starting split pitch"), frame, 60);
+ layout->addMultiCellWidget(m_pitch, 0, 0, 0, 2, Qt::AlignHCenter);
+
+ m_range = new QCheckBox(i18n("Range up and down to follow music"), frame);
+ layout->addMultiCellWidget(m_range,
+ 1, 1, // fromRow, toRow
+ 0, 2 // fromCol, toCol
+ );
+
+ m_duplicate = new QCheckBox(i18n("Duplicate non-note events"), frame);
+ layout->addMultiCellWidget(m_duplicate, 2, 2, 0, 2);
+
+ layout->addWidget(new QLabel(i18n("Clef handling:"), frame), 3, 0);
+
+ m_clefs = new KComboBox(frame);
+ m_clefs->insertItem(i18n("Leave clefs alone"));
+ m_clefs->insertItem(i18n("Guess new clefs"));
+ m_clefs->insertItem(i18n("Use treble and bass clefs"));
+ layout->addMultiCellWidget(m_clefs, 3, 3, 1, 2);
+
+ m_range->setChecked(true);
+ m_duplicate->setChecked(true);
+ m_clefs->setCurrentItem(2);
+}
+
+int
+SplitByPitchDialog::getPitch()
+{
+ return m_pitch->getPitch();
+}
+
+bool
+SplitByPitchDialog::getShouldRange()
+{
+ return m_range->isChecked();
+}
+
+bool
+SplitByPitchDialog::getShouldDuplicateNonNoteEvents()
+{
+ return m_duplicate->isChecked();
+}
+
+int
+SplitByPitchDialog::getClefHandling()
+{
+ switch (m_clefs->currentItem()) {
+ case 0:
+ return (int)SegmentSplitByPitchCommand::LeaveClefs;
+ case 1:
+ return (int)SegmentSplitByPitchCommand::RecalculateClefs;
+ default:
+ return (int)SegmentSplitByPitchCommand::UseTrebleAndBassClefs;
+ }
+}
+
+}
+#include "SplitByPitchDialog.moc"