summaryrefslogtreecommitdiff
path: root/muse2/muse/midiedit
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2012-05-28 14:15:52 +0000
committerFlorian Jung <flo@windfisch.org>2012-05-28 14:15:52 +0000
commitd2a88cfaad5ac385fc3c6212c09ad7fbc38e9454 (patch)
tree387da0b38255003e1a971629ea0de32273ac3d3c /muse2/muse/midiedit
parent716f5a5b56a3b7ff59004ef0a1af5f98cb2a691c (diff)
merged with release_2_0
Diffstat (limited to 'muse2/muse/midiedit')
-rw-r--r--muse2/muse/midiedit/dcanvas.cpp2
-rw-r--r--muse2/muse/midiedit/drumedit.cpp28
-rw-r--r--muse2/muse/midiedit/drumedit.h10
-rw-r--r--muse2/muse/midiedit/ecanvas.cpp16
-rw-r--r--muse2/muse/midiedit/pianoroll.cpp29
-rw-r--r--muse2/muse/midiedit/pianoroll.h6
-rw-r--r--muse2/muse/midiedit/prcanvas.cpp2
-rw-r--r--muse2/muse/midiedit/scoreedit.cpp36
-rw-r--r--muse2/muse/midiedit/scoreedit.h6
9 files changed, 66 insertions, 69 deletions
diff --git a/muse2/muse/midiedit/dcanvas.cpp b/muse2/muse/midiedit/dcanvas.cpp
index 6c3f865f..42eda0fd 100644
--- a/muse2/muse/midiedit/dcanvas.cpp
+++ b/muse2/muse/midiedit/dcanvas.cpp
@@ -35,7 +35,7 @@
#include <QPair>
#include <stdio.h>
-#include <values.h>
+#include <limits.h>
#include <errno.h>
#include "dcanvas.h"
diff --git a/muse2/muse/midiedit/drumedit.cpp b/muse2/muse/midiedit/drumedit.cpp
index 34a5bce5..9c559fcd 100644
--- a/muse2/muse/midiedit/drumedit.cpp
+++ b/muse2/muse/midiedit/drumedit.cpp
@@ -595,11 +595,8 @@ DrumEdit::DrumEdit(MusECore::PartList* pl, QWidget* parent, const char* name, un
connect(toolbar, SIGNAL(soloChanged(bool)), SLOT(soloChanged(bool)));
connect(info, SIGNAL(valueChanged(MusEGui::NoteInfo::ValType, int)), SLOT(noteinfoChanged(MusEGui::NoteInfo::ValType, int)));
connect(info, SIGNAL(deltaModeChanged(bool)), SLOT(deltaModeChanged(bool)));
- if(MusEGlobal::config.smartFocus)
- {
- connect(info, SIGNAL(returnPressed()), SLOT(focusCanvas()));
- connect(info, SIGNAL(escapePressed()), SLOT(focusCanvas()));
- }
+ connect(info, SIGNAL(returnPressed()), SLOT(focusCanvas()));
+ connect(info, SIGNAL(escapePressed()), SLOT(focusCanvas()));
connect(ctrl, SIGNAL(clicked()), SLOT(addCtrl()));
@@ -616,10 +613,10 @@ DrumEdit::DrumEdit(MusECore::PartList* pl, QWidget* parent, const char* name, un
//canvas->selectFirst();
unsigned pos=0;
- if(initPos >= MAXINT)
+ if(initPos >= INT_MAX)
pos = MusEGlobal::song->cpos();
- if(pos > MAXINT)
- pos = MAXINT;
+ if(pos > INT_MAX)
+ pos = INT_MAX;
if (pos)
hscroll->setOffset((int)pos);
@@ -628,7 +625,7 @@ DrumEdit::DrumEdit(MusECore::PartList* pl, QWidget* parent, const char* name, un
initTopwinState();
- MusEGlobal::muse->topwinMenuInited(this);
+ finalizeInit();
}
//---------------------------------------------------------
@@ -793,8 +790,11 @@ void DrumEdit::setSelection(int tick, MusECore::Event& e, MusECore::Part*, bool
void DrumEdit::focusCanvas()
{
- canvas->setFocus();
- canvas->activateWindow();
+ if(MusEGlobal::config.smartFocus)
+ {
+ canvas->setFocus();
+ canvas->activateWindow();
+ }
}
//---------------------------------------------------------
@@ -840,8 +840,7 @@ void DrumEdit::setRaster(int val)
_rasterInit = val;
MidiEditor::setRaster(val);
canvas->redrawGrid();
- if(MusEGlobal::config.smartFocus)
- focusCanvas(); // give back focus after kb input
+ focusCanvas(); // give back focus after kb input
}
//---------------------------------------------------------
@@ -1552,8 +1551,7 @@ void DrumEdit::execUserScript(int id)
void DrumEdit::setStep(QString v)
{
((DrumCanvas*)canvas)->setStep(v.toInt());
- if(MusEGlobal::config.smartFocus)
- focusCanvas();
+ focusCanvas();
}
void DrumEdit::ourDrumMapChanged(bool instrMapChanged)
diff --git a/muse2/muse/midiedit/drumedit.h b/muse2/muse/midiedit/drumedit.h
index 7f2d26ce..7704b283 100644
--- a/muse2/muse/midiedit/drumedit.h
+++ b/muse2/muse/midiedit/drumedit.h
@@ -25,7 +25,7 @@
#include <QByteArray>
-#include <values.h>
+#include <limits.h>
#include "midieditor.h"
#include "noteinfo.h"
#include "cobject.h"
@@ -146,6 +146,7 @@ class DrumEdit : public MidiEditor {
void configChanged();
void songChanged1(int);
void setStep(QString);
+
void updateGroupingActions();
void set_ignore_hide(bool);
void showAllInstruments();
@@ -154,14 +155,15 @@ class DrumEdit : public MidiEditor {
void hideEmptyInstruments();
void display_old_new_conflict_message();
- void focusCanvas();
+
void deltaModeChanged(bool);
public slots:
- void setSelection(int /*tick*/, MusECore::Event&, MusECore::Part*, bool /*update*/);
+ void setSelection(int tick, MusECore::Event&, MusECore::Part*, bool update);
void soloChanged(bool); // called by Solo button
void execDeliveredScript(int);
void execUserScript(int);
+ void focusCanvas();
CtrlEdit* addCtrl();
void ourDrumMapChanged(bool);
virtual void updateHScrollRange();
@@ -170,7 +172,7 @@ class DrumEdit : public MidiEditor {
void isDeleting(MusEGui::TopWin*);
public:
- DrumEdit(MusECore::PartList*, QWidget* parent = 0, const char* name = 0, unsigned initPos = MAXINT);
+ DrumEdit(MusECore::PartList*, QWidget* parent = 0, const char* name = 0, unsigned initPos = INT_MAX);
virtual ~DrumEdit();
virtual void readStatus(MusECore::Xml&);
virtual void writeStatus(int, MusECore::Xml&) const;
diff --git a/muse2/muse/midiedit/ecanvas.cpp b/muse2/muse/midiedit/ecanvas.cpp
index 75757bf9..88cf3318 100644
--- a/muse2/muse/midiedit/ecanvas.cpp
+++ b/muse2/muse/midiedit/ecanvas.cpp
@@ -23,7 +23,7 @@
#include <stdio.h>
#include <errno.h>
-#include <values.h>
+#include <limits.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/mman.h>
@@ -92,7 +92,7 @@ QString EventCanvas::getCaption() const
void EventCanvas::leaveEvent(QEvent*)
{
emit pitchChanged(-1);
- emit timeChanged(MAXINT);
+ emit timeChanged(INT_MAX);
}
//---------------------------------------------------------
@@ -150,7 +150,8 @@ void EventCanvas::songChanged(int flags)
return;
if (flags & ~SC_SELECTION) {
- //items.clear(); DELETETHIS
+ // TODO FIXME: don't we actually only want SC_PART_*, and maybe SC_TRACK_DELETED?
+ // (same in waveview.cpp)
bool curItemNeedsRestore=false;
MusECore::Event storedEvent;
int partSn;
@@ -163,7 +164,7 @@ void EventCanvas::songChanged(int flags)
curItem=NULL;
items.clearDelete();
- start_tick = MAXINT;
+ start_tick = INT_MAX;
end_tick = 0;
curPart = 0;
for (MusECore::iPart p = editor->parts()->begin(); p != editor->parts()->end(); ++p) {
@@ -331,6 +332,9 @@ void EventCanvas::keyPress(QKeyEvent* event)
// Select items by key (PianoRoll & DrumEditor)
else if (key == shortcuts[SHRT_SEL_RIGHT].key || key == shortcuts[SHRT_SEL_RIGHT_ADD].key) {
rciCItem i;
+
+ if (items.empty())
+ return;
for (i = items.rbegin(); i != items.rend(); ++i)
if (i->second->isSelected())
break;
@@ -359,7 +363,9 @@ void EventCanvas::keyPress(QKeyEvent* event)
//Select items by key: (PianoRoll & DrumEditor)
else if (key == shortcuts[SHRT_SEL_LEFT].key || key == shortcuts[SHRT_SEL_LEFT_ADD].key) {
ciCItem i;
- for (i = items.begin(); i != items.end(); ++i)
+ if (items.empty())
+ return;
+ for (i = items.begin(); i != items.end(); ++i)
if (i->second->isSelected())
break;
diff --git a/muse2/muse/midiedit/pianoroll.cpp b/muse2/muse/midiedit/pianoroll.cpp
index d8608c70..951fcbf2 100644
--- a/muse2/muse/midiedit/pianoroll.cpp
+++ b/muse2/muse/midiedit/pianoroll.cpp
@@ -431,13 +431,10 @@ PianoRoll::PianoRoll(MusECore::PartList* pl, QWidget* parent, const char* name,
connect(speaker, SIGNAL(toggled(bool)), SLOT(setSpeaker(bool)));
connect(canvas, SIGNAL(followEvent(int)), SLOT(follow(int)));
- if(MusEGlobal::config.smartFocus)
- {
- connect(info, SIGNAL(returnPressed()), SLOT(focusCanvas()));
- connect(info, SIGNAL(escapePressed()), SLOT(focusCanvas()));
- connect(midiTrackInfo, SIGNAL(returnPressed()), SLOT(focusCanvas()));
- connect(midiTrackInfo, SIGNAL(escapePressed()), SLOT(focusCanvas()));
- }
+ connect(info, SIGNAL(returnPressed()), SLOT(focusCanvas()));
+ connect(info, SIGNAL(escapePressed()), SLOT(focusCanvas()));
+ connect(midiTrackInfo, SIGNAL(returnPressed()), SLOT(focusCanvas()));
+ connect(midiTrackInfo, SIGNAL(escapePressed()), SLOT(focusCanvas()));
connect(hscroll, SIGNAL(scaleChanged(int)), SLOT(updateHScrollRange()));
piano->setYPos(KH * 30);
@@ -474,10 +471,10 @@ PianoRoll::PianoRoll(MusECore::PartList* pl, QWidget* parent, const char* name,
canvas->selectAtTick(cpos.tick());
unsigned pos=0;
- if(initPos >= MAXINT)
+ if(initPos >= INT_MAX)
pos = MusEGlobal::song->cpos();
- if(pos > MAXINT)
- pos = MAXINT;
+ if(pos > INT_MAX)
+ pos = INT_MAX;
if (pos)
hscroll->setOffset((int)pos);
@@ -488,7 +485,7 @@ PianoRoll::PianoRoll(MusECore::PartList* pl, QWidget* parent, const char* name,
}
initTopwinState();
- MusEGlobal::muse->topwinMenuInited(this);
+ finalizeInit();
}
//---------------------------------------------------------
@@ -706,8 +703,11 @@ void PianoRoll::setSelection(int tick, MusECore::Event& e, MusECore::Part* /*par
void PianoRoll::focusCanvas()
{
- canvas->setFocus();
- canvas->activateWindow();
+ if(MusEGlobal::config.smartFocus)
+ {
+ canvas->setFocus();
+ canvas->activateWindow();
+ }
}
//---------------------------------------------------------
@@ -911,8 +911,7 @@ void PianoRoll::setRaster(int val)
_rasterInit = val;
MidiEditor::setRaster(val);
canvas->redrawGrid();
- if(MusEGlobal::config.smartFocus)
- focusCanvas(); // give back focus after kb input
+ focusCanvas(); // give back focus after kb input
}
//---------------------------------------------------------
diff --git a/muse2/muse/midiedit/pianoroll.h b/muse2/muse/midiedit/pianoroll.h
index ad77b973..8040dc7b 100644
--- a/muse2/muse/midiedit/pianoroll.h
+++ b/muse2/muse/midiedit/pianoroll.h
@@ -28,7 +28,7 @@
#include <QLabel>
#include <QKeyEvent>
-#include <values.h>
+#include <limits.h>
#include "noteinfo.h"
#include "cobject.h"
#include "midieditor.h"
@@ -169,7 +169,6 @@ class PianoRoll : public MidiEditor {
void newCanvasWidth(int);
void toggleTrackInfo();
void updateTrackInfo();
- void focusCanvas();
void deltaModeChanged(bool);
signals:
@@ -179,10 +178,11 @@ class PianoRoll : public MidiEditor {
virtual void updateHScrollRange();
void execDeliveredScript(int id);
void execUserScript(int id);
+ void focusCanvas();
CtrlEdit* addCtrl();
public:
- PianoRoll(MusECore::PartList*, QWidget* parent = 0, const char* name = 0, unsigned initPos = MAXINT);
+ PianoRoll(MusECore::PartList*, QWidget* parent = 0, const char* name = 0, unsigned initPos = INT_MAX);
~PianoRoll();
virtual void readStatus(MusECore::Xml&);
virtual void writeStatus(int, MusECore::Xml&) const;
diff --git a/muse2/muse/midiedit/prcanvas.cpp b/muse2/muse/midiedit/prcanvas.cpp
index 0ccabbe0..2bf94269 100644
--- a/muse2/muse/midiedit/prcanvas.cpp
+++ b/muse2/muse/midiedit/prcanvas.cpp
@@ -34,7 +34,7 @@
#include <set>
-#include <values.h>
+#include <limits.h>
#include <stdio.h>
#include <math.h>
#include <errno.h>
diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp
index 44629eef..9630fc7c 100644
--- a/muse2/muse/midiedit/scoreedit.cpp
+++ b/muse2/muse/midiedit/scoreedit.cpp
@@ -323,11 +323,8 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos)
//many many undos when using the spin buttons.
connect(velo_spinbox, SIGNAL(editingFinished()), SLOT(velo_box_changed()));
connect(this,SIGNAL(velo_changed(int)), score_canvas, SLOT(set_velo(int)));
- if(MusEGlobal::config.smartFocus)
- {
- connect(velo_spinbox, SIGNAL(returnPressed()), SLOT(focusCanvas()));
- connect(velo_spinbox, SIGNAL(escapePressed()), SLOT(focusCanvas()));
- }
+ connect(velo_spinbox, SIGNAL(returnPressed()), SLOT(focusCanvas()));
+ connect(velo_spinbox, SIGNAL(escapePressed()), SLOT(focusCanvas()));
note_settings_toolbar->addWidget(velo_spinbox);
velo_spinbox->setValue(ScoreCanvas::note_velo_init);
@@ -339,11 +336,8 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos)
//many many undos when using the spin buttons.
connect(velo_off_spinbox, SIGNAL(editingFinished()), SLOT(velo_off_box_changed()));
connect(this,SIGNAL(velo_off_changed(int)), score_canvas, SLOT(set_velo_off(int)));
- if(MusEGlobal::config.smartFocus)
- {
- connect(velo_off_spinbox, SIGNAL(returnPressed()), SLOT(focusCanvas()));
- connect(velo_off_spinbox, SIGNAL(escapePressed()), SLOT(focusCanvas()));
- }
+ connect(velo_off_spinbox, SIGNAL(returnPressed()), SLOT(focusCanvas()));
+ connect(velo_off_spinbox, SIGNAL(escapePressed()), SLOT(focusCanvas()));
note_settings_toolbar->addWidget(velo_off_spinbox);
velo_off_spinbox->setValue(ScoreCanvas::note_velo_off_init);
@@ -376,11 +370,8 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos)
px_per_whole_spinbox->setSingleStep(50);
connect(px_per_whole_spinbox, SIGNAL(valueChanged(int)), score_canvas, SLOT(set_pixels_per_whole(int)));
connect(score_canvas, SIGNAL(pixels_per_whole_changed(int)), px_per_whole_spinbox, SLOT(setValue(int)));
- if(MusEGlobal::config.smartFocus)
- {
- connect(px_per_whole_spinbox, SIGNAL(returnPressed()), SLOT(focusCanvas()));
- connect(px_per_whole_spinbox, SIGNAL(escapePressed()), SLOT(focusCanvas()));
- }
+ connect(px_per_whole_spinbox, SIGNAL(returnPressed()), SLOT(focusCanvas()));
+ connect(px_per_whole_spinbox, SIGNAL(escapePressed()), SLOT(focusCanvas()));
quant_toolbar->addWidget(px_per_whole_spinbox);
px_per_whole_spinbox->setValue(ScoreCanvas::_pixels_per_whole_init);
@@ -542,7 +533,7 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos)
apply_velo=true;
initTopwinState();
- MusEGlobal::muse->topwinMenuInited(this);
+ finalizeInit();
}
void ScoreEdit::init_shortcuts()
@@ -632,8 +623,11 @@ ScoreEdit::~ScoreEdit()
void ScoreEdit::focusCanvas()
{
- score_canvas->setFocus();
- score_canvas->activateWindow();
+ if(MusEGlobal::config.smartFocus)
+ {
+ score_canvas->setFocus();
+ score_canvas->activateWindow();
+ }
}
void ScoreEdit::velo_box_changed()
@@ -649,8 +643,7 @@ void ScoreEdit::velo_off_box_changed()
void ScoreEdit::quant_combobox_changed(int idx)
{
score_canvas->set_quant(idx);
- if(MusEGlobal::config.smartFocus)
- focusCanvas();
+ focusCanvas();
}
void ScoreEdit::song_changed(int flags)
@@ -4036,7 +4029,7 @@ void ScoreCanvas::mouseMoveEvent (QMouseEvent* event)
}
old_pitch=-1;
- old_dest_tick=MAXINT;
+ old_dest_tick=INT_MAX;
old_len=-1;
}
}
@@ -4705,7 +4698,6 @@ void ScoreCanvas::add_new_parts(const std::map< MusECore::Part*, std::set<MusECo
* o velo-controller doesn't work in new-style drum tracks
*
* CURRENT TODO
- * o column's widths aren't stored into configuration. fix that.
* o storing <no_toplevels /> into a template file seems to ignore
* the arranger's "MDI-ness", sets is at subwin all the time!
*
diff --git a/muse2/muse/midiedit/scoreedit.h b/muse2/muse/midiedit/scoreedit.h
index 584c5f78..09720505 100644
--- a/muse2/muse/midiedit/scoreedit.h
+++ b/muse2/muse/midiedit/scoreedit.h
@@ -39,7 +39,7 @@
#include <QByteArray>
#include <QToolButton>
-#include <values.h>
+#include <limits.h>
#include "noteinfo.h"
#include "cobject.h"
#include "event.h"
@@ -184,7 +184,6 @@ class ScoreEdit : public TopWin
void init_shortcuts();
void selection_changed();
void clipboard_changed();
- void focusCanvas();
signals:
void isDeleting(MusEGui::TopWin*);
@@ -198,9 +197,10 @@ class ScoreEdit : public TopWin
void canvas_height_changed(int);
void viewport_height_changed(int);
void song_changed(int);
+ void focusCanvas();
public:
- ScoreEdit(QWidget* parent = 0, const char* name = 0, unsigned initPos = MAXINT);
+ ScoreEdit(QWidget* parent = 0, const char* name = 0, unsigned initPos = INT_MAX);
~ScoreEdit();
void writeStatus(int level, MusECore::Xml& xml) const;