diff options
author | Tim E. Real <termtech@rogers.com> | 2012-08-04 06:58:54 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2012-08-04 06:58:54 +0000 |
commit | 79d44ac604c41d431c36bf8a6422e4d5899e68dd (patch) | |
tree | 7f529a4cc596d97e83b9dc2e79a2c7be0b6f7c9d /muse2/muse/arranger | |
parent | 004af724045ae8b8a0be1152b4de755f34b1b053 (diff) |
Optimizations: Added Master::songChanged, ArrangerView::songChanged.
Please test it - may need more or less SC_* filters.
Diffstat (limited to 'muse2/muse/arranger')
-rw-r--r-- | muse2/muse/arranger/arrangerview.cpp | 21 | ||||
-rw-r--r-- | muse2/muse/arranger/arrangerview.h | 14 |
2 files changed, 28 insertions, 7 deletions
diff --git a/muse2/muse/arranger/arrangerview.cpp b/muse2/muse/arranger/arrangerview.cpp index 9641ab2e..6fe38b69 100644 --- a/muse2/muse/arranger/arrangerview.cpp +++ b/muse2/muse/arranger/arrangerview.cpp @@ -3,6 +3,7 @@ // Linux Music Editor // arrangerview.cpp // (C) Copyright 2011 Florian Jung (flo93@users.sourceforge.net) +// (C) Copyright 2012 Tim E. Real (terminator356 on users dot sourceforge dot net) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -112,7 +113,7 @@ ArrangerView::ArrangerView(QWidget* parent) connect(MusEGlobal::muse, SIGNAL(configChanged()), arranger, SLOT(configChanged())); connect(arranger, SIGNAL(setUsedTool(int)), editTools, SLOT(set(int))); connect(arranger, SIGNAL(selectionChanged()), SLOT(selectionChanged())); - connect(MusEGlobal::song, SIGNAL(songChanged(int)), visTracks, SLOT(updateVisibleTracksButtons())); + connect(MusEGlobal::song, SIGNAL(songChanged(int)), this, SLOT(songChanged(int))); @@ -374,6 +375,24 @@ void ArrangerView::closeEvent(QCloseEvent* e) e->accept(); } +//--------------------------------------------------------- +// songChanged +//--------------------------------------------------------- + +void ArrangerView::songChanged(int type) +{ + // TEST Try these, may need more/less. Esp more: Originally songChanged was directly connected to updateVisibleTracksButtons, so... + if(type & (SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED | + SC_PART_INSERTED | SC_PART_REMOVED | SC_PART_MODIFIED | + //SC_EVENT_INSERTED | SC_EVENT_REMOVED | SC_EVENT_MODIFIED | + //SC_SIG | SC_TEMPO | SC_MASTER | + //SC_MIDI_TRACK_PROP | + SC_CONFIG | + SC_DRUMMAP| + SC_SONG_TYPE)) + visTracks->updateVisibleTracksButtons(); +} + void ArrangerView::writeStatus(int level, MusECore::Xml& xml) const diff --git a/muse2/muse/arranger/arrangerview.h b/muse2/muse/arranger/arrangerview.h index 570dcd80..94e49e96 100644 --- a/muse2/muse/arranger/arrangerview.h +++ b/muse2/muse/arranger/arrangerview.h @@ -3,6 +3,7 @@ // Linux Music Editor // arrangerview.h // (C) Copyright 2011 Florian Jung (flo93@users.sourceforge.net) +// (C) Copyright 2012 Tim E. Real (terminator356 on users dot sourceforge dot net) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -121,12 +122,13 @@ class ArrangerView : public TopWin void globalCut(); void globalInsert(); void globalSplit(); - void globalCutSel(); - void globalInsertSel(); - void globalSplitSel(); - void cmd(int); - void addNewTrack(QAction* action); - void configCustomColumns(); + void globalCutSel(); + void globalInsertSel(); + void globalSplitSel(); + void cmd(int); + void addNewTrack(QAction* action); + void configCustomColumns(); + void songChanged(int); signals: void isDeleting(MusEGui::TopWin*); |