diff options
author | Florian Jung <flo@windfisch.org> | 2011-10-03 14:02:55 +0000 |
---|---|---|
committer | Florian Jung <flo@windfisch.org> | 2011-10-03 14:02:55 +0000 |
commit | 890ee8999eaca679fa1874adf3f572f365138e29 (patch) | |
tree | 0e441d2a3f0ff9d50eb1e1137953d73caf40527a | |
parent | d2427fa3b72eeb897ab214b38572009e6e4f4987 (diff) |
drum map changes are now handled properly
-rw-r--r-- | muse2/muse/midiedit/dcanvas.cpp | 4 | ||||
-rw-r--r-- | muse2/muse/midiedit/dlist.cpp | 9 | ||||
-rw-r--r-- | muse2/muse/midiedit/drumedit.cpp | 6 |
3 files changed, 14 insertions, 5 deletions
diff --git a/muse2/muse/midiedit/dcanvas.cpp b/muse2/muse/midiedit/dcanvas.cpp index 8e2f284d..35236e87 100644 --- a/muse2/muse/midiedit/dcanvas.cpp +++ b/muse2/muse/midiedit/dcanvas.cpp @@ -977,7 +977,9 @@ void DrumCanvas::mapChanged(int spitch, int dpitch) } - song->update(SC_DRUMMAP); + song->update(SC_DRUMMAP); // this causes a complete rebuild of ourDrumMap + // which also handles the changed order in all + // other drum editors } } diff --git a/muse2/muse/midiedit/dlist.cpp b/muse2/muse/midiedit/dlist.cpp index c35f2a21..85382c4a 100644 --- a/muse2/muse/midiedit/dlist.cpp +++ b/muse2/muse/midiedit/dlist.cpp @@ -413,7 +413,8 @@ void DList::viewMousePressEvent(QMouseEvent* ev) if (!old_style_drummap_mode && dm_old != *dm) //something changed and we're in new style mode? dcanvas->propagate_drummap_change(dm-ourDrumMap); - redraw(); + song->update(SC_DRUMMAP); + //redraw(); //this is done by the songChanged slot } //--------------------------------------------------------- @@ -686,7 +687,8 @@ void DList::returnPressed() editor->hide(); editEntry = 0; setFocus(); - redraw(); + song->update(SC_DRUMMAP); + //redraw(); //this is done by the songChanged slot } //--------------------------------------------------------- @@ -751,7 +753,8 @@ void DList::pitchEdited() pitch_editor->hide(); editEntry = 0; setFocus(); - redraw(); + song->update(SC_DRUMMAP); + //redraw(); //this is done by the songChanged slot } //--------------------------------------------------------- diff --git a/muse2/muse/midiedit/drumedit.cpp b/muse2/muse/midiedit/drumedit.cpp index ce261425..92cc765a 100644 --- a/muse2/muse/midiedit/drumedit.cpp +++ b/muse2/muse/midiedit/drumedit.cpp @@ -587,8 +587,12 @@ void DrumEdit::songChanged1(int bits) toolbar->setSolo(canvas->track()->solo()); return; } + if ( !old_style_drummap_mode() && + ( bits & (SC_DRUMMAP | SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED | + SC_PART_INSERTED | SC_PART_REMOVED | SC_PART_MODIFIED) ) ) + ((DrumCanvas*)(canvas))->rebuildOurDrumMap(); + songChanged(bits); - } //--------------------------------------------------------- |