summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--muse2/ChangeLog16
-rw-r--r--muse2/muse/arranger/tlist.cpp6
-rw-r--r--muse2/muse/midiedit/dcanvas.h10
-rw-r--r--muse2/muse/midiedit/drumedit.h2
-rw-r--r--muse2/muse/midiedit/scoreedit.cpp51
5 files changed, 27 insertions, 58 deletions
diff --git a/muse2/ChangeLog b/muse2/ChangeLog
index 1445633b..4b9646f4 100644
--- a/muse2/ChangeLog
+++ b/muse2/ChangeLog
@@ -1,4 +1,20 @@
03.01.2012:
+ - ADDED NEW STYLE DRUM TRACKS: (flo93)
+
+ multiple tracks can be displayed in one editor
+ their drum sound columns can be reordered, mixed up, hidden.
+ drumtracks can be grouped by channel, not at all, or maximally
+ each track owns its own drummap
+ added drummap-definitions to instrument files (gs and xg.idf)
+ drumtracks' drummap can be automatically set according to
+ the currently used patch/program/bank
+ new-style-drumtracks can ignore muted, hidden or both sounds when
+ recording
+
+ KNOWN ISSUES: when having multiple drumeditors open, the mute-column
+ may not work, because another editor is overriding this.
+ this is not a bug.
+
- Global Cut: Fixed crashes with markers. Re-did marker section in structure.cpp:adjustGlobalLists(). (Tim)
TODO: Still get tempo, key, and sig not found warnings.
02.01.2012:
diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp
index 3deeb65a..fe8b4731 100644
--- a/muse2/muse/arranger/tlist.cpp
+++ b/muse2/muse/arranger/tlist.cpp
@@ -718,10 +718,6 @@ void TList::portsPopupMenu(MusECore::Track* t, int x, int y)
case MusECore::Track::MIDI:
case MusECore::Track::DRUM:
case MusECore::Track::NEW_DRUM:
- // FINDMICHJETZT: this is a notice for flo's experimental
- // branch! don't forget NEW_DRUM here!
- // please don't remove this. i'll do it when
- // the time is there.
case MusECore::Track::AUDIO_SOFTSYNTH:
{
MusECore::MidiTrack* track = (MusECore::MidiTrack*)t;
@@ -742,7 +738,7 @@ void TList::portsPopupMenu(MusECore::Track* t, int x, int y)
QMenu* p = MusECore::midiPortsPopup(this, port); // 0, port);
- if (t->type()==MusECore::Track::MIDI || t->type()==MusECore::Track::DRUM) //FINDMICHJETZT
+ if (t->isMidiTrack())
{
// extend that menu a bit
diff --git a/muse2/muse/midiedit/dcanvas.h b/muse2/muse/midiedit/dcanvas.h
index 0fd4c9e0..ae647709 100644
--- a/muse2/muse/midiedit/dcanvas.h
+++ b/muse2/muse/midiedit/dcanvas.h
@@ -162,11 +162,13 @@ class DrumCanvas : public EventCanvas {
virtual void keyPress(QKeyEvent* event);
MusECore::Event *getEventAtCursorPos();
void selectCursorEvent(MusECore::Event *ev);
+
int pitch_and_track_to_instrument(int pitch, MusECore::Track* track);
- MusECore::DrumMap* getOurDrumMap() { return ourDrumMap; } //FINDMICH UGLY
- int getOurDrumMapSize() { return instrument_map.size(); } //FINDMICH UGLY
- QVector<instrument_number_mapping_t>& get_instrument_map() { return instrument_map; } //FINDMICH UGLY
- void propagate_drummap_change(int instrument, bool update_druminmap); //FINDMICH move to drumedit
+
+ MusECore::DrumMap* getOurDrumMap() { return ourDrumMap; }
+ int getOurDrumMapSize() { return instrument_map.size(); }
+ QVector<instrument_number_mapping_t>& get_instrument_map() { return instrument_map; }
+ void propagate_drummap_change(int instrument, bool update_druminmap);
void rebuildOurDrumMap();
};
diff --git a/muse2/muse/midiedit/drumedit.h b/muse2/muse/midiedit/drumedit.h
index f4e2646b..33491581 100644
--- a/muse2/muse/midiedit/drumedit.h
+++ b/muse2/muse/midiedit/drumedit.h
@@ -169,7 +169,7 @@ class DrumEdit : public MidiEditor {
group_mode_t group_mode() { return _group_mode; }
bool ignore_hide() { return _ignore_hide; }
- QVector<instrument_number_mapping_t>& get_instrument_map() { return static_cast<DrumCanvas*>(canvas)->get_instrument_map(); } //FINDMICH UGLY
+ QVector<instrument_number_mapping_t>& get_instrument_map() { return static_cast<DrumCanvas*>(canvas)->get_instrument_map(); }
};
} // namespace MusEGui
diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp
index 45ccd4d6..7e40a41f 100644
--- a/muse2/muse/midiedit/scoreedit.cpp
+++ b/muse2/muse/midiedit/scoreedit.cpp
@@ -4655,20 +4655,6 @@ void ScoreCanvas::add_new_parts(const std::map< MusECore::Part*, std::set<MusECo
// every time something changes.
-/* STUFF I WANT TO WORK
- *
- * x multiple new drum tracks can be displayed seperately in ONE drum
- * editor
- * x reorder drummap
- * ? support and correctly map e-note on record and steprec
- * ? only record nonmuted/whatever notes
- * ? support drum controllers
- * x refuse to mix up old-style and new-style drum tracks in ONE editor
- * o drummap saving and loading (per-track)
- * o drummap import/export
- * o drummap automatically adapting to the chosen midi synth / patch
- */
-
/* BUGS and potential bugs
* o tied notes don't work properly when there's a key-change in
* between, for example, when a cis is tied to a des
@@ -4679,46 +4665,15 @@ void ScoreCanvas::add_new_parts(const std::map< MusECore::Part*, std::set<MusECo
* from clipboard failed. ignoring this one... ) [ not reproducible ]
*
* CURRENT TODO
- * o write instrument drummaps
- * o GUI for editing instrument drummaps
- * * drum controllers
- * update ctrlcanvas/panel
- * test!
- * * drum editor is buggy. propagate_drum_map may operate on old values
- * ("BUGGY! problem is: while changing entries, ourDrumMap
- * may be reallocated which causes abort()s and/or bugs.")
- * [ seems to work now, needs further testing! ]
- * x my record flag handling
- * * once, using super glue while a score editor displaying the glued
- * parts is open let muse segfault. this may or may not be fixed
- * now. check!
- * state of revision #1337: no segfaults, but the score editors
- * close and lots of "ERROR" messages.
- *
- * o drum editor: channel-stuff
- * o clearly state in the changelog: when having multiple drumeditors open,
- * the mute-column may not work, because another editor is overriding this.
- * > o respect "_drummap_tied_to_patch": IMPLEMENT
- * 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
- * o move generation and deletion of ourDrumMap from DCanvas to DrumEditor and remove ugly wrapper functions
+ * o test drum controllers
+ * o test old- and new drumtrack recording, steprecording
+ *
* > o fix valgrind problems (the two "FINDMICHJETZT" lines in scoreedit.cpp)
* > o add a songposition scrollbar-toolbar (in different sizes)
* this might be equivalent to "redo transport menu" (below).
* > o add toolbar(s) for tempo- etc spinboxes from the transport window
*
- *
* o find and fix FINDMICHJETZT
- * o fix all segfaults and non-working stuff!
- * - creating, changing types to and from, erasing NEW_DRUM tracks
- * - move parts around
- * - playing them. mute?
- * - recording/echoing/steprec them
- * - load, save them
- * o fix valgrind problems
*
* IMPORTANT TODO
* o allow steprec-insert-rest-note to be set to "off" / "unused"