summaryrefslogtreecommitdiff
path: root/muse2/muse/midiedit
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/midiedit')
-rw-r--r--muse2/muse/midiedit/dcanvas.cpp9
-rw-r--r--muse2/muse/midiedit/dcanvas.h1
-rw-r--r--muse2/muse/midiedit/dlist.cpp2
-rw-r--r--muse2/muse/midiedit/ecanvas.cpp3
-rw-r--r--muse2/muse/midiedit/prcanvas.cpp4
-rw-r--r--muse2/muse/midiedit/prcanvas.h1
-rw-r--r--muse2/muse/midiedit/scoreedit.cpp22
-rw-r--r--muse2/muse/midiedit/scoreedit.h2
8 files changed, 24 insertions, 20 deletions
diff --git a/muse2/muse/midiedit/dcanvas.cpp b/muse2/muse/midiedit/dcanvas.cpp
index 35236e87..34173780 100644
--- a/muse2/muse/midiedit/dcanvas.cpp
+++ b/muse2/muse/midiedit/dcanvas.cpp
@@ -150,6 +150,15 @@ DrumCanvas::DrumCanvas(MidiEditor* pr, QWidget* parent, int sx,
connect(song, SIGNAL(midiNote(int, int)), SLOT(midiNote(int,int)));
}
+DrumCanvas::~DrumCanvas()
+{
+ //items.clearDelete();
+
+ if (must_delete_our_drum_map && ourDrumMap!=NULL)
+ delete [] ourDrumMap;
+ delete steprec;
+}
+
//---------------------------------------------------------
// moveCanvasItems
//---------------------------------------------------------
diff --git a/muse2/muse/midiedit/dcanvas.h b/muse2/muse/midiedit/dcanvas.h
index e06857a9..9a45f6ac 100644
--- a/muse2/muse/midiedit/dcanvas.h
+++ b/muse2/muse/midiedit/dcanvas.h
@@ -147,6 +147,7 @@ class DrumCanvas : public EventCanvas {
};
DrumCanvas(MidiEditor*, QWidget*, int, int,
const char* name = 0);
+ virtual ~DrumCanvas();
void cmd(int);
virtual void modifySelected(MusEWidget::NoteInfo::ValType type, int delta);
virtual void keyPress(QKeyEvent* event);
diff --git a/muse2/muse/midiedit/dlist.cpp b/muse2/muse/midiedit/dlist.cpp
index 85382c4a..350f5e5e 100644
--- a/muse2/muse/midiedit/dlist.cpp
+++ b/muse2/muse/midiedit/dlist.cpp
@@ -243,7 +243,7 @@ void DList::viewMousePressEvent(QMouseEvent* ev)
sInstrument = instrument;
drag = START_DRAG;
- DCols col = DCols(x2col(x)); //FINDMICH update
+ DCols col = DCols(x2col(x));
int val;
int incVal = 0;
diff --git a/muse2/muse/midiedit/ecanvas.cpp b/muse2/muse/midiedit/ecanvas.cpp
index cb96118f..b30574f1 100644
--- a/muse2/muse/midiedit/ecanvas.cpp
+++ b/muse2/muse/midiedit/ecanvas.cpp
@@ -147,7 +147,8 @@ void EventCanvas::songChanged(int flags)
return;
if (flags & ~SC_SELECTION) {
- items.clear();
+ //items.clear();
+ items.clearDelete();
start_tick = MAXINT;
end_tick = 0;
curPart = 0;
diff --git a/muse2/muse/midiedit/prcanvas.cpp b/muse2/muse/midiedit/prcanvas.cpp
index b96cb47f..b9b4794f 100644
--- a/muse2/muse/midiedit/prcanvas.cpp
+++ b/muse2/muse/midiedit/prcanvas.cpp
@@ -110,6 +110,10 @@ PianoCanvas::PianoCanvas(MidiEditor* pr, QWidget* parent, int sx, int sy)
connect(song, SIGNAL(midiNote(int, int)), SLOT(midiNote(int,int)));
}
+PianoCanvas::~PianoCanvas()
+{
+ delete steprec;
+}
//---------------------------------------------------------
// pitch2y
//---------------------------------------------------------
diff --git a/muse2/muse/midiedit/prcanvas.h b/muse2/muse/midiedit/prcanvas.h
index a44a9a4a..b3a8a288 100644
--- a/muse2/muse/midiedit/prcanvas.h
+++ b/muse2/muse/midiedit/prcanvas.h
@@ -117,6 +117,7 @@ class PianoCanvas : public EventCanvas {
};
PianoCanvas(MidiEditor*, QWidget*, int, int);
+ virtual ~PianoCanvas();
void cmd(int cmd);
void setColorMode(int mode) {
colorMode = mode;
diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp
index cf7d031f..64258f60 100644
--- a/muse2/muse/midiedit/scoreedit.cpp
+++ b/muse2/muse/midiedit/scoreedit.cpp
@@ -1257,6 +1257,11 @@ ScoreCanvas::ScoreCanvas(ScoreEdit* pr, QWidget* parent_widget) : View(parent_wi
unsetCursor();
}
+ScoreCanvas::~ScoreCanvas()
+{
+ delete steprec;
+}
+
void ScoreCanvas::staffmode_treble_slot()
{
set_staffmode(current_staff, MODE_TREBLE);
@@ -4591,32 +4596,15 @@ void ScoreCanvas::add_new_parts(const std::map< Part*, std::set<Part*> >& param)
*
* > o drum editor: channel-stuff
* o dialog for maintaining drum lists, hide etc
- * o grouping
* o respect "_drummap_tied_to_patch": IMPLEMENT
* o save hide, ordering, track's drumlists
- * x hide instruments
- * x remember ordering of instruments
- * x tracks have own drumlists
- *
* o "copy drumlist" from one track to another
- *
- * x each track has its own drumlist and a bool maintained_automatically
* o whenever changing the patch and maintained_automatically==true,
* the drumlist is replaced by the according one (for example, "jazz" drum kit's list)
* o whenever changing the drumlist and maintained_automatically==true,
* ask the user if he wants to proceed, and then set maintained_automatically to false
* o offer some way to set maintained_automatically to true again
- * x each track has a bool hidden[128], which is used for hiding entries.
- * when mixing, the values of all tracks are ANDed
- * o offer a way to hide/show instruments
- *
- * o drum editor can: "display each track separately", "mix all with same port, patch and drumlist"
- * x a map maps all y-coord.s to { set<Track*>, pitch }
- * x either open flo-tracks OR old-style-tracks
- * x replace all DRUM_MAPSIZE by instrument_map.size()
- * o signal for instrument_map.size or drum_map_size() changed!
* o move generation and deletion of ourDrumMap from DCanvas to DrumEditor and remove ugly wrapper functions
- * o ...
*
* o when playing back a flo-drum-track: treat as a MIDI track,
* EXCEPT that the drum list's mute entries are respected!
diff --git a/muse2/muse/midiedit/scoreedit.h b/muse2/muse/midiedit/scoreedit.h
index 046fbf73..8f21e76b 100644
--- a/muse2/muse/midiedit/scoreedit.h
+++ b/muse2/muse/midiedit/scoreedit.h
@@ -811,7 +811,7 @@ class ScoreCanvas : public MusEWidget::View
public:
ScoreCanvas(ScoreEdit*, QWidget*);
- ~ScoreCanvas(){};
+ ~ScoreCanvas();
void add_staves(PartList* pl, bool all_in_one);
void push_back_staff(staff_t& staff) { staves.push_back(staff); } //FINDMICH dirty. very dirty.