diff options
Diffstat (limited to 'muse2/muse/midiedit')
-rw-r--r-- | muse2/muse/midiedit/dcanvas.cpp | 9 | ||||
-rw-r--r-- | muse2/muse/midiedit/dcanvas.h | 1 | ||||
-rw-r--r-- | muse2/muse/midiedit/dlist.cpp | 2 | ||||
-rw-r--r-- | muse2/muse/midiedit/ecanvas.cpp | 3 | ||||
-rw-r--r-- | muse2/muse/midiedit/prcanvas.cpp | 4 | ||||
-rw-r--r-- | muse2/muse/midiedit/prcanvas.h | 1 | ||||
-rw-r--r-- | muse2/muse/midiedit/scoreedit.cpp | 22 | ||||
-rw-r--r-- | muse2/muse/midiedit/scoreedit.h | 2 |
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. |