diff options
author | Tim E. Real <termtech@rogers.com> | 2012-08-04 22:14:50 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2012-08-04 22:14:50 +0000 |
commit | 345fb0cc41b94b08134dc1f40020b4bf26e1d46b (patch) | |
tree | 78f6da3cf9cd64a84ead190e615a175a6a82242d /muse2 | |
parent | 8ee7ac503d93d7a0b6cf3b49c3255d389ba59c17 (diff) |
REWRITE: Introducing: More bits for Song Changed SC_* flags.
Added MusECore::SongChangedFlags_t (in new type_defs.h file). Declared as int64 type.
All Song Changed parameters, handlers, connections, calls, colateral operations etc. now use
this new SongChangedFlags_t.
All the handlers are now ready for the code bodies to accept any extra flags, devs need not
do anything more than define new SC_* flags and write support inside the handlers.
Please beware these possible extra flags when writing songChanged handlers and setting updateFlags.
Diffstat (limited to 'muse2')
85 files changed, 230 insertions, 181 deletions
diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 1bfd0e97..8cd17adf 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,12 +1,11 @@ 04.08.2012: * Introducing: More bits for Song Changed SC_* flags. (Tim) - Added member Song::updateFlags2. (Various song commands and undo/redo use the update flags). - Song::update() now takes an extra 'flags2' param, default is zero, with a HACK: If flags is -1 - (as in a call to update() with no params), it is highly unlikely someone actually wanted - all 32 flags bits set but not flags2, so flags2 is also forced to -1 in that case. - - Please beware these possible extra flags when writing songChanged handlers and setting updateFlags. - No place uses them yet. We can recognize them as necessary, as we go, by adding an extra flags2 - param to the various songChanged handlers. + Added MusECore::SongChangedFlags_t (in new type_defs.h file). Declared as int64 type. + All Song Changed parameters, handlers, connections, calls, colateral operations etc. now use + this new SongChangedFlags_t. + All the handlers are now ready for the code bodies to accept any extra flags, devs need not + do anything more than define new SC_* flags and write support inside the handlers. + Please beware these possible extra flags when writing songChanged handlers and setting updateFlags. 04.08.2012: - Optimizations: Added Master::songChanged and ArrangerView::songChanged to filter some SCs. (Tim) 01.08.2012: diff --git a/muse2/muse/arranger/arranger.cpp b/muse2/muse/arranger/arranger.cpp index 62c405d3..d25aa0b9 100644 --- a/muse2/muse/arranger/arranger.cpp +++ b/muse2/muse/arranger/arranger.cpp @@ -524,7 +524,7 @@ Arranger::Arranger(ArrangerView* parent, const char* name) connect(canvas, SIGNAL(dclickPart(MusECore::Track*)), SIGNAL(editPart(MusECore::Track*))); connect(canvas, SIGNAL(startEditor(MusECore::PartList*,int)), SIGNAL(startEditor(MusECore::PartList*, int))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(canvas, SIGNAL(followEvent(int)), hscroll, SLOT(setOffset(int))); connect(canvas, SIGNAL(selectionChanged()), SIGNAL(selectionChanged())); connect(canvas, SIGNAL(dropSongFile(const QString&)), SIGNAL(dropSongFile(const QString&))); @@ -643,7 +643,7 @@ void Arranger::songlenChanged(int n) // songChanged //--------------------------------------------------------- -void Arranger::songChanged(int type) +void Arranger::songChanged(MusECore::SongChangedFlags_t type) { // Is it simply a midi controller value adjustment? Forget it. if(type != SC_MIDI_CONTROLLER) @@ -1160,7 +1160,7 @@ void Arranger::genTrackInfo(QWidget* parent) // updateTrackInfo //--------------------------------------------------------- -void Arranger::updateTrackInfo(int flags) +void Arranger::updateTrackInfo(MusECore::SongChangedFlags_t flags) { if (!showTrackinfoFlag) { switchInfo(-1); @@ -1198,7 +1198,7 @@ void Arranger::switchInfo(int n) delete w; w = new AudioStrip(trackInfo, (MusECore::AudioTrack*)selected); //w->setFocusPolicy(Qt::TabFocus); // p4.0.9 - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), w, SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), w, SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::muse, SIGNAL(configChanged()), w, SLOT(configChanged())); w->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); trackInfo->addWidget(w, 2); diff --git a/muse2/muse/arranger/arranger.h b/muse2/muse/arranger/arranger.h index 60390a8f..f37edd9b 100644 --- a/muse2/muse/arranger/arranger.h +++ b/muse2/muse/arranger/arranger.h @@ -29,6 +29,7 @@ #include <QScrollBar> #include <QResizeEvent> +#include "type_defs.h" #include "midieditor.h" #include "pcanvas.h" #include "trackautomationview.h" @@ -156,7 +157,7 @@ class Arranger : public QWidget { void showTrackInfo(bool); void trackSelectionChanged(); void trackInfoScroll(int); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); void modeChange(int); void setTime(unsigned); void globalPitchChanged(int); @@ -184,7 +185,7 @@ class Arranger : public QWidget { public slots: void dclickPart(MusECore::Track*); void setTool(int); - void updateTrackInfo(int flags); + void updateTrackInfo(MusECore::SongChangedFlags_t flags); void configChanged(); void controllerChanged(MusECore::Track *t, int ctrlId); void focusCanvas(); diff --git a/muse2/muse/arranger/arrangerview.cpp b/muse2/muse/arranger/arrangerview.cpp index 14a0d8ef..66e3bbbb 100644 --- a/muse2/muse/arranger/arrangerview.cpp +++ b/muse2/muse/arranger/arrangerview.cpp @@ -113,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, int)), this, SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), this, SLOT(songChanged(MusECore::SongChangedFlags_t))); @@ -379,7 +379,7 @@ void ArrangerView::closeEvent(QCloseEvent* e) // songChanged //--------------------------------------------------------- -void ArrangerView::songChanged(int type) +void ArrangerView::songChanged(MusECore::SongChangedFlags_t 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 | diff --git a/muse2/muse/arranger/arrangerview.h b/muse2/muse/arranger/arrangerview.h index 94e49e96..6a8f47c9 100644 --- a/muse2/muse/arranger/arrangerview.h +++ b/muse2/muse/arranger/arrangerview.h @@ -41,6 +41,7 @@ #include <QToolButton> #include <limits.h> +#include "type_defs.h" #include "noteinfo.h" #include "cobject.h" #include "event.h" @@ -128,7 +129,7 @@ class ArrangerView : public TopWin void cmd(int); void addNewTrack(QAction* action); void configCustomColumns(); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); signals: void isDeleting(MusEGui::TopWin*); diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index c5c3ca6d..5e754e25 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -266,7 +266,7 @@ void PartCanvas::viewMouseDoubleClickEvent(QMouseEvent* event) // update //--------------------------------------------------------- -void PartCanvas::updateSong(DragType t, int flags) +void PartCanvas::updateSong(DragType t, MusECore::SongChangedFlags_t flags) { MusEGlobal::song->update(flags | ((t == MOVE_COPY || t == MOVE_CLONE) ? SC_PART_INSERTED : SC_PART_MODIFIED)); diff --git a/muse2/muse/arranger/pcanvas.h b/muse2/muse/arranger/pcanvas.h index 1b766c5d..c9e4c946 100644 --- a/muse2/muse/arranger/pcanvas.h +++ b/muse2/muse/arranger/pcanvas.h @@ -28,6 +28,7 @@ #include <set> #include <QTime> +#include "type_defs.h" #include "song.h" #include "canvas.h" #include "trackautomationview.h" @@ -123,7 +124,7 @@ class PartCanvas : public Canvas { virtual void moveCanvasItems(CItemList&, int, int, DragType); virtual bool moveItem(MusECore::Undo& operations, CItem*, const QPoint&, DragType); - virtual void updateSong(DragType, int); + virtual void updateSong(DragType, MusECore::SongChangedFlags_t); virtual void startDrag(CItem*, DragType); virtual void dragEnterEvent(QDragEnterEvent*); virtual void viewDropEvent(QDropEvent*); diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp index 4d2a1251..6f8837e8 100644 --- a/muse2/muse/arranger/tlist.cpp +++ b/muse2/muse/arranger/tlist.cpp @@ -113,7 +113,7 @@ TList::TList(Header* hdr, QWidget* parent, const char* name) //setAttribute(Qt::WA_OpaquePaintEvent); resizeFlag = false; - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::muse, SIGNAL(configChanged()), SLOT(redraw())); connect(MusEGlobal::heartBeatTimer, SIGNAL(timeout()), SLOT(maybeUpdateVolatileCustomColumns())); } @@ -122,7 +122,7 @@ TList::TList(Header* hdr, QWidget* parent, const char* name) // songChanged //--------------------------------------------------------- -void TList::songChanged(int flags) +void TList::songChanged(MusECore::SongChangedFlags_t flags) { if (flags & (SC_MUTE | SC_SOLO | SC_RECFLAG | SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED | SC_ROUTE | SC_CHANNELS | SC_MIDI_TRACK_PROP diff --git a/muse2/muse/arranger/tlist.h b/muse2/muse/arranger/tlist.h index d3701451..fd05cac9 100644 --- a/muse2/muse/arranger/tlist.h +++ b/muse2/muse/arranger/tlist.h @@ -23,6 +23,7 @@ #ifndef __TLIST_H__ #define __TLIST_H__ +#include "type_defs.h" #include "track.h" #include <map> #include <QWidget> @@ -123,7 +124,7 @@ class TList : public QWidget { void chanValueFinished(); void ctrlValueFinished(); void instrPopupActivated(QAction*); - void songChanged(int flags); + void songChanged(MusECore::SongChangedFlags_t flags); void changeAutomation(QAction*); void changeAutomationColor(QAction*); void loadTrackDrummap(MusECore::MidiTrack*, const char* filename=NULL); diff --git a/muse2/muse/cliplist/cliplist.cpp b/muse2/muse/cliplist/cliplist.cpp index f32fabbc..8a711b61 100644 --- a/muse2/muse/cliplist/cliplist.cpp +++ b/muse2/muse/cliplist/cliplist.cpp @@ -146,7 +146,7 @@ ClipListEdit::ClipListEdit(QWidget* parent) connect(editor->view, SIGNAL(itemSelectionChanged()), SLOT(clipSelectionChanged())); connect(editor->view, SIGNAL(itemClicked(QTreeWidgetItem*, int)), SLOT(clicked(QTreeWidgetItem*, int))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(editor->start, SIGNAL(valueChanged(const MusECore::Pos&)), SLOT(startChanged(const MusECore::Pos&))); connect(editor->len, SIGNAL(valueChanged(const MusECore::Pos&)), SLOT(lenChanged(const MusECore::Pos&))); @@ -186,7 +186,7 @@ void ClipListEdit::closeEvent(QCloseEvent* e) // songChanged //--------------------------------------------------------- -void ClipListEdit::songChanged(int type) +void ClipListEdit::songChanged(MusECore::SongChangedFlags_t type) { // Is it simply a midi controller value adjustment? Forget it. if(type == SC_MIDI_CONTROLLER) diff --git a/muse2/muse/cliplist/cliplist.h b/muse2/muse/cliplist/cliplist.h index 0972df97..4d182a27 100644 --- a/muse2/muse/cliplist/cliplist.h +++ b/muse2/muse/cliplist/cliplist.h @@ -24,6 +24,7 @@ #ifndef __CLIPLIST_H__ #define __CLIPLIST_H__ +#include "type_defs.h" #include "../cobject.h" #include "event.h" @@ -66,7 +67,7 @@ class ClipListEdit : public TopWin { void updateList(); private slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); void startChanged(const MusECore::Pos&); void lenChanged(const MusECore::Pos&); void clipSelectionChanged(); diff --git a/muse2/muse/confmport.cpp b/muse2/muse/confmport.cpp index 2281f134..cd5c95e9 100644 --- a/muse2/muse/confmport.cpp +++ b/muse2/muse/confmport.cpp @@ -1107,7 +1107,7 @@ MPConfig::MPConfig(QWidget* parent) this, SLOT(rbClicked(QTableWidgetItem*))); connect(mdevView, SIGNAL(itemChanged(QTableWidgetItem*)), this, SLOT(mdevViewItemRenamed(QTableWidgetItem*))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(synthList, SIGNAL(itemSelectionChanged()), SLOT(selectionChanged())); connect(instanceList, SIGNAL(itemSelectionChanged()), SLOT(selectionChanged())); @@ -1138,7 +1138,7 @@ void MPConfig::selectionChanged() // songChanged //--------------------------------------------------------- -void MPConfig::songChanged(int flags) +void MPConfig::songChanged(MusECore::SongChangedFlags_t flags) { if(!(flags & (SC_CONFIG | SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED))) return; diff --git a/muse2/muse/confmport.h b/muse2/muse/confmport.h index ce23fd24..04147090 100644 --- a/muse2/muse/confmport.h +++ b/muse2/muse/confmport.h @@ -28,6 +28,7 @@ #include <QToolTip> #include "ui_synthconfigbase.h" +#include "type_defs.h" class QTreeWidget; class QTableWidget; @@ -61,7 +62,7 @@ class MPConfig : public QDialog, Ui::SynthConfigBase { private slots: void rbClicked(QTableWidgetItem*); void mdevViewItemRenamed(QTableWidgetItem*); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); void selectionChanged(); void addInstanceClicked(); void removeInstanceClicked(); diff --git a/muse2/muse/ctrl/ctrlcanvas.cpp b/muse2/muse/ctrl/ctrlcanvas.cpp index b1e8753c..8d4bc8a3 100644 --- a/muse2/muse/ctrl/ctrlcanvas.cpp +++ b/muse2/muse/ctrl/ctrlcanvas.cpp @@ -216,7 +216,7 @@ CtrlCanvas::CtrlCanvas(MidiEditor* e, QWidget* parent, int xmag, if (!editor->parts()->empty()) setCurTrackAndPart(); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::muse, SIGNAL(configChanged()), SLOT(configChanged())); setCurDrumPitch(editor->curDrumInstrument()); @@ -440,7 +440,7 @@ void CtrlCanvas::configChanged() // all marked parts are added to the internal event list //--------------------------------------------------------- -void CtrlCanvas::songChanged(int type) +void CtrlCanvas::songChanged(MusECore::SongChangedFlags_t type) { if(editor->deleting()) // Ignore while while deleting to prevent crash. return; diff --git a/muse2/muse/ctrl/ctrlcanvas.h b/muse2/muse/ctrl/ctrlcanvas.h index 8e107789..e38edc22 100644 --- a/muse2/muse/ctrl/ctrlcanvas.h +++ b/muse2/muse/ctrl/ctrlcanvas.h @@ -26,6 +26,7 @@ #include <list> +#include "type_defs.h" #include "view.h" #include "tools.h" #include "midictrl.h" @@ -168,7 +169,7 @@ class CtrlCanvas : public MusEGui::View { void updateSelections(); private slots: - void songChanged(int type); + void songChanged(MusECore::SongChangedFlags_t type); void configChanged(); void setCurDrumPitch(int); diff --git a/muse2/muse/instruments/midictrledit.cpp b/muse2/muse/instruments/midictrledit.cpp index 03aa2f76..f4c74e9a 100644 --- a/muse2/muse/instruments/midictrledit.cpp +++ b/muse2/muse/instruments/midictrledit.cpp @@ -132,14 +132,14 @@ MidiControllerEditDialog::MidiControllerEditDialog(QWidget* parent, const char* updateViewController(); _modified = false; buttonApply->setEnabled(false); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); } //--------------------------------------------------------- // songChanged //--------------------------------------------------------- -void MidiControllerEditDialog::songChanged(int flags) +void MidiControllerEditDialog::songChanged(MusECore::SongChangedFlags_t flags) { // Is it simply a midi controller value adjustment? Forget it. if(flags == SC_MIDI_CONTROLLER) diff --git a/muse2/muse/instruments/midictrledit.h b/muse2/muse/instruments/midictrledit.h index 308302b1..a4d9501c 100644 --- a/muse2/muse/instruments/midictrledit.h +++ b/muse2/muse/instruments/midictrledit.h @@ -24,6 +24,7 @@ #ifndef __MIDICTRLEDIT_H__ #define __MIDICTRLEDIT_H__ +#include "type_defs.h" #include "ccontrolbase.h" #include "midictrl.h" @@ -59,7 +60,7 @@ class MidiControllerEditDialog : public MidiControllerEditDialogBase { void minChanged(int); void maxChanged(int); void portChanged(int); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); public: MidiControllerEditDialog(QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WFlags fl = 0); diff --git a/muse2/muse/liste/listedit.cpp b/muse2/muse/liste/listedit.cpp index 62b2004d..d6bf894a 100644 --- a/muse2/muse/liste/listedit.cpp +++ b/muse2/muse/liste/listedit.cpp @@ -194,7 +194,7 @@ void ListEdit::closeEvent(QCloseEvent* e) // songChanged //--------------------------------------------------------- -void ListEdit::songChanged(int type) +void ListEdit::songChanged(MusECore::SongChangedFlags_t type) { if(_isDeleting) // Ignore while while deleting to prevent crash. return; @@ -588,7 +588,7 @@ ListEdit::ListEdit(MusECore::PartList* pl) mainGrid->setRowStretch(1, 100); mainGrid->setColumnStretch(0, 100); mainGrid->addWidget(liste, 1, 0, 2, 1); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); if(pl->empty()) { diff --git a/muse2/muse/liste/listedit.h b/muse2/muse/liste/listedit.h index d9cdac96..472ba7b8 100644 --- a/muse2/muse/liste/listedit.h +++ b/muse2/muse/liste/listedit.h @@ -23,6 +23,7 @@ #ifndef __LIST_EDIT_H__ #define __LIST_EDIT_H__ +#include "type_defs.h" #include "midieditor.h" #include "noteinfo.h" #include "cobject.h" @@ -83,7 +84,7 @@ class ListEdit : public MidiEditor { void configChanged(); public slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); void focusCanvas(); signals: diff --git a/muse2/muse/marker/markerview.cpp b/muse2/muse/marker/markerview.cpp index 037c0ff3..5a5f9a2a 100644 --- a/muse2/muse/marker/markerview.cpp +++ b/muse2/muse/marker/markerview.cpp @@ -271,7 +271,7 @@ MarkerView::MarkerView(QWidget* parent) // Rest //--------------------------------------------------- - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); updateList(); @@ -411,7 +411,7 @@ void MarkerView::deleteMarker() // songChanged //--------------------------------------------------------- -void MarkerView::songChanged(int flags) +void MarkerView::songChanged(MusECore::SongChangedFlags_t flags) { // Is it simply a midi controller value adjustment? Forget it. if(flags == SC_MIDI_CONTROLLER) diff --git a/muse2/muse/marker/markerview.h b/muse2/muse/marker/markerview.h index 3da98b31..16e36767 100644 --- a/muse2/muse/marker/markerview.h +++ b/muse2/muse/marker/markerview.h @@ -23,6 +23,7 @@ #ifndef __MARKERVIEW_H__ #define __MARKERVIEW_H__ +#include "type_defs.h" #include "cobject.h" #include <QTreeWidgetItem> @@ -91,7 +92,7 @@ class MarkerView : public TopWin { void markerChanged(int); void clicked(QTreeWidgetItem*); void updateList(); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); signals: void isDeleting(MusEGui::TopWin*); diff --git a/muse2/muse/master/lmaster.cpp b/muse2/muse/master/lmaster.cpp index 23c39bc7..44dbf1e1 100644 --- a/muse2/muse/master/lmaster.cpp +++ b/muse2/muse/master/lmaster.cpp @@ -132,7 +132,7 @@ void LMaster::closeEvent(QCloseEvent* e) // songChanged //--------------------------------------------------------- -void LMaster::songChanged(int type) +void LMaster::songChanged(MusECore::SongChangedFlags_t type) { if(_isDeleting) // Ignore while while deleting to prevent crash. return; @@ -267,7 +267,7 @@ LMaster::LMaster() connect(view, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), SLOT(select(QTreeWidgetItem*, QTreeWidgetItem*))); connect(view, SIGNAL(itemPressed(QTreeWidgetItem*, int)), SLOT(itemPressed(QTreeWidgetItem*, int))); connect(view, SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)), SLOT(itemDoubleClicked(QTreeWidgetItem*))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(this, SIGNAL(seekTo(int)), MusEGlobal::song, SLOT(seekTo(int))); connect(tempoButton, SIGNAL(clicked()), SLOT(tempoButtonClicked())); connect(timeSigButton, SIGNAL(clicked()), SLOT(timeSigButtonClicked())); diff --git a/muse2/muse/master/lmaster.h b/muse2/muse/master/lmaster.h index d3278333..52c75c49 100644 --- a/muse2/muse/master/lmaster.h +++ b/muse2/muse/master/lmaster.h @@ -23,6 +23,7 @@ #ifndef __LMASTER_EDIT_H__ #define __LMASTER_EDIT_H__ +#include "type_defs.h" #include "midieditor.h" #include "noteinfo.h" #include "cobject.h" @@ -165,7 +166,7 @@ class LMaster : public MidiEditor { void comboboxTimerSlot(); public slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); void configChanged(); void focusCanvas(); diff --git a/muse2/muse/master/master.cpp b/muse2/muse/master/master.cpp index 9f692465..76d22a2f 100644 --- a/muse2/muse/master/master.cpp +++ b/muse2/muse/master/master.cpp @@ -60,14 +60,14 @@ Master::Master(MidiEditor* e, QWidget* parent, int xmag, int ymag) setFocusPolicy(Qt::StrongFocus); setMouseTracking(true); connect(MusEGlobal::song, SIGNAL(posChanged(int, unsigned, bool)), this, SLOT(setPos(int, unsigned, bool))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), this, SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), this, SLOT(songChanged(MusECore::SongChangedFlags_t))); } //--------------------------------------------------------- // songChanged //--------------------------------------------------------- -void Master::songChanged(int type) +void Master::songChanged(MusECore::SongChangedFlags_t type) { //if(_isDeleting) return; // todo: If things get complicated don't forget some mechanism to ignore while while deleting to prevent possible crash. diff --git a/muse2/muse/master/master.h b/muse2/muse/master/master.h index 70667f6a..37991a7f 100644 --- a/muse2/muse/master/master.h +++ b/muse2/muse/master/master.h @@ -24,6 +24,7 @@ #ifndef __MASTER_H__ #define __MASTER_H__ +#include "type_defs.h" #include "view.h" #include "song.h" #include "tools.h" @@ -69,7 +70,7 @@ class Master : public MusEGui::View { void deleteVal(int x1, int x2); private slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); signals: void followEvent(int); diff --git a/muse2/muse/master/masteredit.cpp b/muse2/muse/master/masteredit.cpp index 68ba5168..14a6a35d 100644 --- a/muse2/muse/master/masteredit.cpp +++ b/muse2/muse/master/masteredit.cpp @@ -71,7 +71,7 @@ void MasterEdit::closeEvent(QCloseEvent* e) // songChanged //--------------------------------------------------------- -void MasterEdit::songChanged(int type) +void MasterEdit::songChanged(MusECore::SongChangedFlags_t type) { if(_isDeleting) // Ignore while while deleting to prevent crash. return; @@ -246,7 +246,7 @@ MasterEdit::MasterEdit() connect(tscale, SIGNAL(tempoChanged(int)), SLOT(setTempo(int))); connect(canvas, SIGNAL(tempoChanged(int)), SLOT(setTempo(int))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::song, SIGNAL(posChanged(int,unsigned,bool)), SLOT(posChanged(int,unsigned,bool))); connect(canvas, SIGNAL(followEvent(int)), hscroll, SLOT(setOffset(int))); diff --git a/muse2/muse/master/masteredit.h b/muse2/muse/master/masteredit.h index 15b5a649..5d98cabe 100644 --- a/muse2/muse/master/masteredit.h +++ b/muse2/muse/master/masteredit.h @@ -26,6 +26,7 @@ #include <QByteArray> #include <QResizeEvent> +#include "type_defs.h" #include "midieditor.h" #include "noteinfo.h" #include "cobject.h" @@ -89,7 +90,7 @@ class MasterEdit : public MidiEditor { void tempoChange(double); public slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); void focusCanvas(); signals: diff --git a/muse2/muse/midiedit/dcanvas.cpp b/muse2/muse/midiedit/dcanvas.cpp index e06fd40a..42eda0fd 100644 --- a/muse2/muse/midiedit/dcanvas.cpp +++ b/muse2/muse/midiedit/dcanvas.cpp @@ -1670,7 +1670,7 @@ void DrumCanvas::rebuildOurDrumMap() emit ourDrumMapChanged(false); if (need_update) - MusEGlobal::song->update(SC_DRUMMAP, 0, true); // i know, this causes a recursion, which possibly + MusEGlobal::song->update(SC_DRUMMAP, true); // i know, this causes a recursion, which possibly // isn't the most elegant solution here. but it will // never be an infinite recursion } diff --git a/muse2/muse/midiedit/dlist.cpp b/muse2/muse/midiedit/dlist.cpp index e099ecc9..a77fb810 100644 --- a/muse2/muse/midiedit/dlist.cpp +++ b/muse2/muse/midiedit/dlist.cpp @@ -969,7 +969,7 @@ void DList::tracklistChanged() // songChanged //--------------------------------------------------------- -void DList::songChanged(int flags) +void DList::songChanged(MusECore::SongChangedFlags_t flags) { if (flags & SC_DRUMMAP) { redraw(); diff --git a/muse2/muse/midiedit/dlist.h b/muse2/muse/midiedit/dlist.h index 517ac722..b4c757e8 100644 --- a/muse2/muse/midiedit/dlist.h +++ b/muse2/muse/midiedit/dlist.h @@ -26,6 +26,7 @@ #include <QKeyEvent> #include <QLineEdit> +#include "type_defs.h" #include "awl/pitchedit.h" #include "view.h" @@ -157,7 +158,7 @@ class DList : public View { public slots: void tracklistChanged(); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); void ourDrumMapChanged(bool); public: diff --git a/muse2/muse/midiedit/drumedit.cpp b/muse2/muse/midiedit/drumedit.cpp index 196e7ffc..dc403d33 100644 --- a/muse2/muse/midiedit/drumedit.cpp +++ b/muse2/muse/midiedit/drumedit.cpp @@ -562,8 +562,8 @@ DrumEdit::DrumEdit(MusECore::PartList* pl, QWidget* parent, const char* name, un connect(canvas, SIGNAL(verticalScroll(unsigned)), vscroll, SLOT(setPos(unsigned))); connect(canvas, SIGNAL(horizontalScroll(unsigned)),hscroll, SLOT(setPos(unsigned))); connect(canvas, SIGNAL(horizontalScrollNoLimit(unsigned)),hscroll, SLOT(setPosNoLimit(unsigned))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged1(int))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), dlist, SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged1(MusECore::SongChangedFlags_t))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), dlist, SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(vscroll, SIGNAL(scrollChanged(int)), canvas, SLOT(setYPos(int))); connect(vscroll, SIGNAL(scaleChanged(int)), canvas, SLOT(setYMag(int))); connect(vscroll, SIGNAL(scaleChanged(int)), dlist, SLOT(setYMag(int))); @@ -632,7 +632,7 @@ DrumEdit::DrumEdit(MusECore::PartList* pl, QWidget* parent, const char* name, un // songChanged1 //--------------------------------------------------------- -void DrumEdit::songChanged1(int bits) +void DrumEdit::songChanged1(MusECore::SongChangedFlags_t bits) { if(_isDeleting) // Ignore while deleting to prevent crash. return; diff --git a/muse2/muse/midiedit/drumedit.h b/muse2/muse/midiedit/drumedit.h index 7704b283..7ebf2fd9 100644 --- a/muse2/muse/midiedit/drumedit.h +++ b/muse2/muse/midiedit/drumedit.h @@ -26,6 +26,7 @@ #include <QByteArray> #include <limits.h> +#include "type_defs.h" #include "midieditor.h" #include "noteinfo.h" #include "cobject.h" @@ -144,7 +145,7 @@ class DrumEdit : public MidiEditor { void follow(int); void newCanvasWidth(int); void configChanged(); - void songChanged1(int); + void songChanged1(MusECore::SongChangedFlags_t); void setStep(QString); void updateGroupingActions(); diff --git a/muse2/muse/midiedit/ecanvas.cpp b/muse2/muse/midiedit/ecanvas.cpp index 88cf3318..6907c014 100644 --- a/muse2/muse/midiedit/ecanvas.cpp +++ b/muse2/muse/midiedit/ecanvas.cpp @@ -143,7 +143,7 @@ void EventCanvas::updateSelection() // songChanged(type) //--------------------------------------------------------- -void EventCanvas::songChanged(int flags) +void EventCanvas::songChanged(MusECore::SongChangedFlags_t flags) { // Is it simply a midi controller value adjustment? Forget it. if(flags == SC_MIDI_CONTROLLER) diff --git a/muse2/muse/midiedit/ecanvas.h b/muse2/muse/midiedit/ecanvas.h index 454ae3fa..7847e88a 100644 --- a/muse2/muse/midiedit/ecanvas.h +++ b/muse2/muse/midiedit/ecanvas.h @@ -23,6 +23,7 @@ #ifndef __ECANVAS_H__ #define __ECANVAS_H__ +#include "type_defs.h" #include "canvas.h" #include "noteinfo.h" #include <QEvent> @@ -97,7 +98,7 @@ class EventCanvas : public Canvas { bool midiin() const { return _midiin; } bool steprec() const { return _steprec; } QString getCaption() const; - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); void range(int* s, int* e) const { *s = start_tick; *e = end_tick; } void playEvents(bool flag) { _playEvents = flag; } void selectAtTick(unsigned int tick); diff --git a/muse2/muse/midiedit/pianoroll.cpp b/muse2/muse/midiedit/pianoroll.cpp index 7fce2e30..9ede827e 100644 --- a/muse2/muse/midiedit/pianoroll.cpp +++ b/muse2/muse/midiedit/pianoroll.cpp @@ -442,7 +442,7 @@ PianoRoll::PianoRoll(MusECore::PartList* pl, QWidget* parent, const char* name, vscroll->setPos(KH * 30); info->setEnabled(false); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged1(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged1(MusECore::SongChangedFlags_t))); setWindowTitle(canvas->getCaption()); @@ -492,7 +492,7 @@ PianoRoll::PianoRoll(MusECore::PartList* pl, QWidget* parent, const char* name, // songChanged1 //--------------------------------------------------------- -void PianoRoll::songChanged1(int bits) +void PianoRoll::songChanged1(MusECore::SongChangedFlags_t bits) { if(_isDeleting) // Ignore while while deleting to prevent crash. return; diff --git a/muse2/muse/midiedit/pianoroll.h b/muse2/muse/midiedit/pianoroll.h index 8040dc7b..9c699724 100644 --- a/muse2/muse/midiedit/pianoroll.h +++ b/muse2/muse/midiedit/pianoroll.h @@ -29,6 +29,7 @@ #include <QKeyEvent> #include <limits.h> +#include "type_defs.h" #include "noteinfo.h" #include "cobject.h" #include "midieditor.h" @@ -164,7 +165,7 @@ class PianoRoll : public MidiEditor { void setSpeaker(bool); void setTime(unsigned); void follow(int pos); - void songChanged1(int); + void songChanged1(MusECore::SongChangedFlags_t); void configChanged(); void newCanvasWidth(int); void toggleTrackInfo(); diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp index 8a252d74..8f4b9d3c 100644 --- a/muse2/muse/midiedit/scoreedit.cpp +++ b/muse2/muse/midiedit/scoreedit.cpp @@ -212,7 +212,7 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) connect(score_canvas, SIGNAL(canvas_height_changed(int)), SLOT(canvas_height_changed(int))); connect(score_canvas, SIGNAL(viewport_height_changed(int)), SLOT(viewport_height_changed(int))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), score_canvas, SLOT(song_changed(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), score_canvas, SLOT(song_changed(MusECore::SongChangedFlags_t))); connect(xscroll, SIGNAL(valueChanged(int)), time_bar, SLOT(set_xpos(int))); connect(score_canvas, SIGNAL(pos_add_changed()), time_bar, SLOT(pos_add_changed())); @@ -518,7 +518,7 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) clipboard_changed(); selection_changed(); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(song_changed(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(song_changed(MusECore::SongChangedFlags_t))); connect(MusEGlobal::song, SIGNAL(newPartsCreated(const std::map< MusECore::Part*, std::set<MusECore::Part*> >&)), score_canvas, SLOT(add_new_parts(const std::map< MusECore::Part*, std::set<MusECore::Part*> >&))); score_canvas->fully_recalculate(); @@ -646,7 +646,7 @@ void ScoreEdit::quant_combobox_changed(int idx) focusCanvas(); } -void ScoreEdit::song_changed(int flags) +void ScoreEdit::song_changed(MusECore::SongChangedFlags_t flags) { if(_isDeleting) // Ignore while while deleting to prevent crash. return; @@ -1535,7 +1535,7 @@ void ScoreCanvas::fully_recalculate() song_changed(SC_EVENT_MODIFIED); } -void ScoreCanvas::song_changed(int flags) +void ScoreCanvas::song_changed(MusECore::SongChangedFlags_t flags) { if(parent && parent->deleting()) // Ignore while while deleting to prevent crash. return; diff --git a/muse2/muse/midiedit/scoreedit.h b/muse2/muse/midiedit/scoreedit.h index 09720505..3b413660 100644 --- a/muse2/muse/midiedit/scoreedit.h +++ b/muse2/muse/midiedit/scoreedit.h @@ -40,6 +40,7 @@ #include <QToolButton> #include <limits.h> +#include "type_defs.h" #include "noteinfo.h" #include "cobject.h" #include "event.h" @@ -196,7 +197,7 @@ class ScoreEdit : public TopWin void viewport_width_changed(int); void canvas_height_changed(int); void viewport_height_changed(int); - void song_changed(int); + void song_changed(MusECore::SongChangedFlags_t); void focusCanvas(); public: @@ -794,7 +795,7 @@ class ScoreCanvas : public MusEGui::View public slots: void x_scroll_event(int); void y_scroll_event(int); - void song_changed(int); + void song_changed(MusECore::SongChangedFlags_t); void fully_recalculate(); void goto_tick(int,bool); void pos_changed(int i, unsigned u, bool b); diff --git a/muse2/muse/midieditor.cpp b/muse2/muse/midieditor.cpp index 86a5044a..b4830c21 100644 --- a/muse2/muse/midieditor.cpp +++ b/muse2/muse/midieditor.cpp @@ -179,7 +179,7 @@ void MidiEditor::writeStatus(int level, MusECore::Xml& xml) const // songChanged //--------------------------------------------------------- -void MidiEditor::songChanged(int type) +void MidiEditor::songChanged(MusECore::SongChangedFlags_t type) { if (type) { diff --git a/muse2/muse/midieditor.h b/muse2/muse/midieditor.h index 9a215a03..fd6d255b 100644 --- a/muse2/muse/midieditor.h +++ b/muse2/muse/midieditor.h @@ -23,6 +23,7 @@ #ifndef __MIDIEDITOR_H__ #define __MIDIEDITOR_H__ +#include "type_defs.h" #include "al/sig.h" #include "cobject.h" @@ -78,7 +79,7 @@ class MidiEditor : public TopWin { void addNewParts(const std::map< MusECore::Part*, std::set<MusECore::Part*> >&); public slots: - void songChanged(int type); + void songChanged(MusECore::SongChangedFlags_t type); void setCurDrumInstrument(int instr); void horizontalZoomIn(); void horizontalZoomOut(); diff --git a/muse2/muse/miditransform.cpp b/muse2/muse/miditransform.cpp index 4692e5d9..bd8dea27 100644 --- a/muse2/muse/miditransform.cpp +++ b/muse2/muse/miditransform.cpp @@ -421,7 +421,7 @@ MidiTransformerDialog::MidiTransformerDialog(QDialog* parent, Qt::WFlags fl) //--------------------------------------------------- updatePresetList(); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); } //--------------------------------------------------------- @@ -437,7 +437,7 @@ MidiTransformerDialog::~MidiTransformerDialog() // songChanged //--------------------------------------------------------- -void MidiTransformerDialog::songChanged(int flags) +void MidiTransformerDialog::songChanged(MusECore::SongChangedFlags_t flags) { // Whenever a song is loaded, flags is -1. Since transforms are part of configuration, // use SC_CONFIG here, to filter unwanted song change events. @@ -920,7 +920,7 @@ bool MidiTransformerDialog::isSelected(MusECore::Event& event, MusECore::MidiPar void MidiTransformerDialog::apply() { - int flags = 0; + MusECore::SongChangedFlags_t flags = 0; MusEGlobal::song->startUndo(); MusEGlobal::audio->msgIdle(true); bool copyExtract = (data->cmt->funcOp == MusECore::Copy) diff --git a/muse2/muse/miditransform.h b/muse2/muse/miditransform.h index 690bd868..2ed366bf 100644 --- a/muse2/muse/miditransform.h +++ b/muse2/muse/miditransform.h @@ -25,6 +25,7 @@ #define __MIDITRANSFORM_H__ #include "ui_transformbase.h" +#include "type_defs.h" class QListWidgetItem; class QDialog; @@ -117,7 +118,7 @@ class MidiTransformerDialog : public QDialog, public Ui::MidiTransformDialogBase void insideLoopChanged(bool); public slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); public: MidiTransformerDialog(QDialog* parent = 0, Qt::WFlags fl = 0); diff --git a/muse2/muse/mixer/amixer.cpp b/muse2/muse/mixer/amixer.cpp index 1dd09c4f..fbdc4d30 100644 --- a/muse2/muse/mixer/amixer.cpp +++ b/muse2/muse/mixer/amixer.cpp @@ -238,7 +238,7 @@ AudioMixerApp::AudioMixerApp(QWidget* parent, MusEGlobal::MixerConfig* c) connect(view, SIGNAL(layoutRequest()), SLOT(setSizing())); ///connect(this, SIGNAL(layoutRequest()), SLOT(setSizing())); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::muse, SIGNAL(configChanged()), SLOT(configChanged())); //MusEGlobal::song->update(); // calls update mixer @@ -554,7 +554,7 @@ void AudioMixerApp::configChanged() // songChanged //--------------------------------------------------------- -void AudioMixerApp::songChanged(int flags) +void AudioMixerApp::songChanged(MusECore::SongChangedFlags_t flags) { // Is it simply a midi controller value adjustment? Forget it. if(flags == SC_MIDI_CONTROLLER) diff --git a/muse2/muse/mixer/amixer.h b/muse2/muse/mixer/amixer.h index e1c70ca3..4a45d214 100644 --- a/muse2/muse/mixer/amixer.h +++ b/muse2/muse/mixer/amixer.h @@ -26,6 +26,7 @@ #include <QScrollArea> +#include "type_defs.h" #include "cobject.h" #include "synth.h" #include "node.h" @@ -123,7 +124,7 @@ class AudioMixerApp : public QMainWindow { //void layoutRequest(); private slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); //void configChanged() { songChanged(-1); } void configChanged(); //void addNewTrack(QAction*); diff --git a/muse2/muse/mixer/astrip.cpp b/muse2/muse/mixer/astrip.cpp index 3b0a8707..49954a0c 100644 --- a/muse2/muse/mixer/astrip.cpp +++ b/muse2/muse/mixer/astrip.cpp @@ -170,7 +170,7 @@ void AudioStrip::updateRouteButtons() // songChanged //--------------------------------------------------------- -void AudioStrip::songChanged(int val) +void AudioStrip::songChanged(MusECore::SongChangedFlags_t val) { // Is it simply a midi controller value adjustment? Forget it. if (val == SC_MIDI_CONTROLLER) diff --git a/muse2/muse/mixer/astrip.h b/muse2/muse/mixer/astrip.h index c0df5360..f995ce5e 100644 --- a/muse2/muse/mixer/astrip.h +++ b/muse2/muse/mixer/astrip.h @@ -27,6 +27,7 @@ #include <vector> +#include "type_defs.h" #include "strip.h" //#include "route.h" @@ -111,7 +112,7 @@ class AudioStrip : public Strip { public slots: virtual void configChanged(); - virtual void songChanged(int); + virtual void songChanged(MusECore::SongChangedFlags_t); public: AudioStrip(QWidget* parent, MusECore::AudioTrack*); diff --git a/muse2/muse/mixer/mstrip.cpp b/muse2/muse/mixer/mstrip.cpp index 6f98ffb8..f8e7b7f3 100644 --- a/muse2/muse/mixer/mstrip.cpp +++ b/muse2/muse/mixer/mstrip.cpp @@ -459,7 +459,7 @@ void MidiStrip::configChanged() // songChanged //--------------------------------------------------------- -void MidiStrip::songChanged(int val) +void MidiStrip::songChanged(MusECore::SongChangedFlags_t val) { if (mute && (val & SC_MUTE)) { // mute && off mute->blockSignals(true); diff --git a/muse2/muse/mixer/mstrip.h b/muse2/muse/mixer/mstrip.h index d5bf5a9f..2a400799 100644 --- a/muse2/muse/mixer/mstrip.h +++ b/muse2/muse/mixer/mstrip.h @@ -25,6 +25,7 @@ #ifndef __MSTRIP_H__ #define __MSTRIP_H__ +#include "type_defs.h" #include "strip.h" #include <QLabel> @@ -89,7 +90,7 @@ class MidiStrip : public Strip { virtual void heartBeat(); public slots: - virtual void songChanged(int); + virtual void songChanged(MusECore::SongChangedFlags_t); virtual void configChanged(); public: diff --git a/muse2/muse/mixer/rack.cpp b/muse2/muse/mixer/rack.cpp index 8b5bc716..f7a6d899 100644 --- a/muse2/muse/mixer/rack.cpp +++ b/muse2/muse/mixer/rack.cpp @@ -174,7 +174,7 @@ EffectRack::EffectRack(QWidget* parent, MusECore::AudioTrack* t) connect(this, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(doubleClicked(QListWidgetItem*))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); EffectRackDelegate* er_delegate = new EffectRackDelegate(this, track); setItemDelegate(er_delegate); @@ -207,7 +207,7 @@ EffectRack::~EffectRack() // songChanged //--------------------------------------------------------- -void EffectRack::songChanged(int typ) +void EffectRack::songChanged(MusECore::SongChangedFlags_t typ) { if (typ & (SC_ROUTE | SC_RACK)) { updateContents(); diff --git a/muse2/muse/mixer/rack.h b/muse2/muse/mixer/rack.h index 49905f48..4c93b05e 100644 --- a/muse2/muse/mixer/rack.h +++ b/muse2/muse/mixer/rack.h @@ -25,6 +25,7 @@ #define __RACK_H__ #include <QListWidget> +#include "type_defs.h" class QDragEnterEvent; class QDragLeaveEvent; @@ -62,7 +63,7 @@ class EffectRack : public QListWidget { private slots: void menuRequested(QListWidgetItem*); void doubleClicked(QListWidgetItem*); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); void updateContents(); protected: diff --git a/muse2/muse/mixer/routedialog.cpp b/muse2/muse/mixer/routedialog.cpp index 2d73a6c0..c0eba948 100644 --- a/muse2/muse/mixer/routedialog.cpp +++ b/muse2/muse/mixer/routedialog.cpp @@ -47,7 +47,7 @@ RouteDialog::RouteDialog(QWidget* parent) connect(newDstList, SIGNAL(itemSelectionChanged()), SLOT(dstSelectionChanged())); connect(removeButton, SIGNAL(clicked()), SLOT(removeRoute())); connect(connectButton, SIGNAL(clicked()), SLOT(addRoute())); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); routingChanged(); } @@ -118,7 +118,7 @@ void RouteDialog::routingChanged() // songChanged //--------------------------------------------------------- -void RouteDialog::songChanged(int v) +void RouteDialog::songChanged(MusECore::SongChangedFlags_t v) { if (v & (SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_ROUTE)) { routingChanged(); diff --git a/muse2/muse/mixer/routedialog.h b/muse2/muse/mixer/routedialog.h index 4d1856e5..8fab5e36 100644 --- a/muse2/muse/mixer/routedialog.h +++ b/muse2/muse/mixer/routedialog.h @@ -25,6 +25,8 @@ #define __ROUTEDIALOG_H__ #include "ui_routedialogbase.h" +#include "type_defs.h" + class QCloseEvent; class QDialog; @@ -47,7 +49,7 @@ class RouteDialog : public QDialog, public Ui::RouteDialogBase { void addRoute(); void srcSelectionChanged(); void dstSelectionChanged(); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); signals: void closed(); diff --git a/muse2/muse/mixer/strip.h b/muse2/muse/mixer/strip.h index 5e788484..bf446013 100644 --- a/muse2/muse/mixer/strip.h +++ b/muse2/muse/mixer/strip.h @@ -31,6 +31,7 @@ #include <QGridLayout> #include <QLabel> +#include "type_defs.h" #include "globaldefs.h" //#include "route.h" @@ -86,7 +87,7 @@ class Strip : public QFrame { public slots: void resetPeaks(); - virtual void songChanged(int) = 0; + virtual void songChanged(MusECore::SongChangedFlags_t) = 0; virtual void configChanged() = 0; public: diff --git a/muse2/muse/mplugins/midiitransform.cpp b/muse2/muse/mplugins/midiitransform.cpp index 232c6f99..4be99f9d 100644 --- a/muse2/muse/mplugins/midiitransform.cpp +++ b/muse2/muse/mplugins/midiitransform.cpp @@ -918,14 +918,14 @@ MidiInputTransformDialog::MidiInputTransformDialog(QDialog* parent, Qt::WFlags f updatePresetList(); presetList->setCurrentItem(presetList->item(0)); presetChanged(presetList->item(0)); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); } //--------------------------------------------------------- // songChanged //--------------------------------------------------------- -void MidiInputTransformDialog::songChanged(int flags) +void MidiInputTransformDialog::songChanged(MusECore::SongChangedFlags_t flags) { // Whenever a song is loaded, flags is -1. Since transforms are part of configuration, // use SC_CONFIG here, to filter unwanted song change events. diff --git a/muse2/muse/mplugins/midiitransform.h b/muse2/muse/mplugins/midiitransform.h index 8c21e068..30dabd13 100644 --- a/muse2/muse/mplugins/midiitransform.h +++ b/muse2/muse/mplugins/midiitransform.h @@ -27,6 +27,7 @@ #include "ui_itransformbase.h" #include <QCloseEvent> +#include "type_defs.h" class QButtonGroup; class Xml; @@ -114,7 +115,7 @@ class MidiInputTransformDialog : public QDialog, public Ui::MidiInputTransformDi void procChannelValbChanged(int); public slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); public: MidiInputTransformDialog(QDialog* parent = 0, Qt::WFlags fl = 0); diff --git a/muse2/muse/song.cpp b/muse2/muse/song.cpp index b738c795..9781116f 100644 --- a/muse2/muse/song.cpp +++ b/muse2/muse/song.cpp @@ -524,7 +524,7 @@ void Song::duplicateTracks() --trackno; } - int update_flags = SC_TRACK_INSERTED; + MusECore::SongChangedFlags_t update_flags = SC_TRACK_INSERTED; if(flags & (Track::ASSIGN_ROUTES | Track::ASSIGN_DEFAULT_ROUTES)) update_flags |= SC_ROUTE; MusEGlobal::song->endUndo(update_flags); @@ -1370,22 +1370,17 @@ void Song::rewindStart() // update //--------------------------------------------------------- -void Song::update(int flags, int flags2, bool allowRecursion) +void Song::update(MusECore::SongChangedFlags_t flags, bool allowRecursion) { - // HACK: If flags is -1, it is very highly likely the caller wanted flags2 = -1 as well. - // Highly improbable someone only wanted all 32 flags set and not flags2. - if(flags == -1) - flags2 = -1; - static int level = 0; // DEBUG if (level && !allowRecursion) { - printf("THIS SHOULD NEVER HAPPEN: unallowed recursion in Song::update(%08x %08x), level %d!\n" + printf("THIS SHOULD NEVER HAPPEN: unallowed recursion in Song::update(%08x), level %d!\n" " the songChanged() signal is NOT emitted. this will\n" - " probably cause windows being not up-to-date.\n", flags, flags2, level); + " probably cause windows being not up-to-date.\n", flags, level); return; } ++level; - emit songChanged(flags, flags2); + emit songChanged(flags); --level; } @@ -1779,11 +1774,11 @@ void Song::rescanAlsaPorts() void Song::endMsgCmd() { - if (updateFlags || updateFlags2) { + if (updateFlags) { redoList->clearDelete(); MusEGlobal::undoAction->setEnabled(true); MusEGlobal::redoAction->setEnabled(false); - emit songChanged(updateFlags, updateFlags2); + emit songChanged(updateFlags); } } @@ -1794,7 +1789,6 @@ void Song::endMsgCmd() void Song::undo() { updateFlags = 0; - updateFlags2 = 0; if (doUndo1()) return; MusEGlobal::audio->msgUndo(); @@ -1805,7 +1799,7 @@ void Song::undo() if(updateFlags && (SC_TRACK_REMOVED | SC_TRACK_INSERTED)) MusEGlobal::audio->msgUpdateSoloStates(); - emit songChanged(updateFlags, updateFlags2); + emit songChanged(updateFlags); } //--------------------------------------------------------- @@ -1815,7 +1809,6 @@ void Song::undo() void Song::redo() { updateFlags = 0; - updateFlags2 = 0; if (doRedo1()) return; MusEGlobal::audio->msgRedo(); @@ -1826,7 +1819,7 @@ void Song::redo() if(updateFlags && (SC_TRACK_REMOVED | SC_TRACK_INSERTED)) MusEGlobal::audio->msgUpdateSoloStates(); - emit songChanged(updateFlags, updateFlags2); + emit songChanged(updateFlags); } //--------------------------------------------------------- @@ -1858,20 +1851,15 @@ void Song::processMsg(AudioMsg* msg) } } updateFlags = SC_TRACK_MODIFIED; - updateFlags2 = 0; break; case SEQM_ADD_EVENT: updateFlags = SC_EVENT_INSERTED; - updateFlags2 = 0; if (addEvent(msg->ev1, (MidiPart*)msg->p2)) { Event ev; addUndo(UndoOp(UndoOp::AddEvent, ev, msg->ev1, (Part*)msg->p2, msg->a, msg->b)); } else - { updateFlags = 0; - updateFlags2 = 0; - } if(msg->a) addPortCtrlEvents(msg->ev1, (Part*)msg->p2, msg->b); break; @@ -1885,7 +1873,6 @@ void Song::processMsg(AudioMsg* msg) addUndo(UndoOp(UndoOp::DeleteEvent, e, event, (Part*)part, msg->a, msg->b)); deleteEvent(event, part); updateFlags = SC_EVENT_REMOVED; - updateFlags2 = 0; } break; case SEQM_CHANGE_EVENT: @@ -1896,7 +1883,6 @@ void Song::processMsg(AudioMsg* msg) addPortCtrlEvents(msg->ev2, (Part*)msg->p3, msg->b); addUndo(UndoOp(UndoOp::ModifyEvent, msg->ev2, msg->ev1, (Part*)msg->p3, msg->a, msg->b)); updateFlags = SC_EVENT_MODIFIED; - updateFlags2 = 0; break; // Moved here from MidiSeq::processMsg p4.0.34 @@ -1923,14 +1909,12 @@ void Song::processMsg(AudioMsg* msg) addUndo(UndoOp(UndoOp::AddTempo, msg->a, msg->b)); MusEGlobal::tempomap.addTempo(msg->a, msg->b); updateFlags = SC_TEMPO; - updateFlags2 = 0; break; case SEQM_SET_TEMPO: addUndo(UndoOp(UndoOp::AddTempo, msg->a, msg->b)); MusEGlobal::tempomap.setTempo(msg->a, msg->b); updateFlags = SC_TEMPO; - updateFlags2 = 0; break; case SEQM_SET_GLOBAL_TEMPO: @@ -1941,35 +1925,30 @@ void Song::processMsg(AudioMsg* msg) addUndo(UndoOp(UndoOp::DeleteTempo, msg->a, msg->b)); MusEGlobal::tempomap.delTempo(msg->a); updateFlags = SC_TEMPO; - updateFlags2 = 0; break; case SEQM_ADD_SIG: addUndo(UndoOp(UndoOp::AddSig, msg->a, msg->b, msg->c)); AL::sigmap.add(msg->a, AL::TimeSignature(msg->b, msg->c)); updateFlags = SC_SIG; - updateFlags2 = 0; break; case SEQM_REMOVE_SIG: addUndo(UndoOp(UndoOp::DeleteSig, msg->a, msg->b, msg->c)); AL::sigmap.del(msg->a); updateFlags = SC_SIG; - updateFlags2 = 0; break; case SEQM_ADD_KEY: addUndo(UndoOp(UndoOp::AddKey, msg->a, msg->b)); MusEGlobal::keymap.addKey(msg->a, (key_enum) msg->b); updateFlags = SC_KEY; - updateFlags2 = 0; break; case SEQM_REMOVE_KEY: addUndo(UndoOp(UndoOp::DeleteKey, msg->a, msg->b)); MusEGlobal::keymap.delKey(msg->a); updateFlags = SC_KEY; - updateFlags2 = 0; break; default: @@ -1987,7 +1966,6 @@ void Song::cmdAddPart(Part* part) addPart(part); addUndo(UndoOp(UndoOp::AddPart, part)); updateFlags = SC_PART_INSERTED; - updateFlags2 = 0; } //--------------------------------------------------------- @@ -2001,7 +1979,6 @@ void Song::cmdRemovePart(Part* part) part->events()->incARef(-1); unchainClone(part); updateFlags = SC_PART_REMOVED; - updateFlags2 = 0; } //--------------------------------------------------------- @@ -2028,7 +2005,6 @@ void Song::cmdChangePart(Part* oldPart, Part* newPart, bool doCtrls, bool doClon addPortCtrlEvents(newPart, doClones); updateFlags = SC_PART_MODIFIED; - updateFlags2 = 0; } //--------------------------------------------------------- @@ -2163,7 +2139,7 @@ void Song::clear(bool signal, bool clear_all) if (signal) { emit loopChanged(false); recordChanged(false); - emit songChanged(-1, -1); + emit songChanged(-1); } } diff --git a/muse2/muse/song.h b/muse2/muse/song.h index 44d5efa6..8777fb2c 100644 --- a/muse2/muse/song.h +++ b/muse2/muse/song.h @@ -30,6 +30,7 @@ #include <map> #include <set> +#include "type_defs.h" #include "pos.h" #include "globaldefs.h" #include "tempo.h" @@ -128,8 +129,7 @@ class Song : public QObject { TempoFifo _tempoFifo; // External tempo changes, processed in heartbeat. - int updateFlags; - int updateFlags2; // Extra room for more flags + MusECore::SongChangedFlags_t updateFlags; TrackList _tracks; // tracklist as seen by arranger MidiTrackList _midis; @@ -346,7 +346,7 @@ class Song : public QObject { //----------------------------------------- void startUndo(); - void endUndo(int /*flags*/, int /*flags2*/ = 0); + void endUndo(MusECore::SongChangedFlags_t); void undoOp(UndoOp::UndoType type, const char* changedFile, const char* changeData, int startframe, int endframe); @@ -372,7 +372,7 @@ class Song : public QObject { //----------------------------------------- void dumpMaster(); - void addUpdateFlags(int f, int f2 = 0) { updateFlags |= f; updateFlags2 |= f2; } + void addUpdateFlags(MusECore::SongChangedFlags_t f) { updateFlags |= f; } //----------------------------------------- // Python bridge related @@ -386,7 +386,7 @@ class Song : public QObject { void seekTo(int tick); // use allowRecursion with care! this could lock up muse if you // aren't sure that your recursion will be finite! - void update(int flags = -1, int flags2 = 0, bool allowRecursion=false); + void update(MusECore::SongChangedFlags_t flags = -1, bool allowRecursion=false); void beat(); void undo(); @@ -420,7 +420,7 @@ class Song : public QObject { void populateScriptMenu(QMenu* menuPlugins, QObject* receiver); signals: - void songChanged(int /*flags*/, int /*flags2*/ = 0); + void songChanged(MusECore::SongChangedFlags_t); void posChanged(int, unsigned, bool); void loopChanged(bool); void recordChanged(bool); diff --git a/muse2/muse/trackdrummapupdater.cpp b/muse2/muse/trackdrummapupdater.cpp index 5fce2587..2ad6a90d 100644 --- a/muse2/muse/trackdrummapupdater.cpp +++ b/muse2/muse/trackdrummapupdater.cpp @@ -31,10 +31,10 @@ using MusEGlobal::song; TrackDrummapUpdater::TrackDrummapUpdater() { - connect(song,SIGNAL(songChanged(int, int)), this, SLOT(songChanged(int))); + connect(song,SIGNAL(songChanged(MusECore::SongChangedFlags_t)), this, SLOT(songChanged(MusECore::SongChangedFlags_t))); } -void TrackDrummapUpdater::songChanged(int flags) +void TrackDrummapUpdater::songChanged(MusECore::SongChangedFlags_t flags) { if (flags & (SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED | SC_PART_INSERTED | SC_PART_REMOVED | SC_PART_MODIFIED | @@ -52,7 +52,7 @@ void TrackDrummapUpdater::songChanged(int flags) { // allow recursion. there will be no more recursion, because this // is only executed when something other than SC_DRUMMAP happens - song->update(SC_DRUMMAP, 0, true); + song->update(SC_DRUMMAP, true); } } diff --git a/muse2/muse/trackdrummapupdater.h b/muse2/muse/trackdrummapupdater.h index caa2ac28..1070d780 100644 --- a/muse2/muse/trackdrummapupdater.h +++ b/muse2/muse/trackdrummapupdater.h @@ -25,6 +25,7 @@ #define __TRACKDRUMMAPUPDATER_H__ #include <QObject> +#include "type_defs.h" namespace MusECore { @@ -36,7 +37,7 @@ class TrackDrummapUpdater : public QObject TrackDrummapUpdater(); private slots: - void songChanged(int flags); + void songChanged(MusECore::SongChangedFlags_t flags); }; } //namespace MusECore diff --git a/muse2/muse/transport.cpp b/muse2/muse/transport.cpp index f88bed1b..051c2a71 100644 --- a/muse2/muse/transport.cpp +++ b/muse2/muse/transport.cpp @@ -501,7 +501,7 @@ Transport::Transport(QWidget* parent, const char* name) connect(tempo, SIGNAL(tempoChanged(int)), MusEGlobal::song, SLOT(setTempo(int))); connect(tempo, SIGNAL(sigChanged(const AL::TimeSignature&)), SLOT(sigChange(const AL::TimeSignature&))); connect(MusEGlobal::song, SIGNAL(playChanged(bool)), SLOT(setPlay(bool))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), this, SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), this, SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::muse, SIGNAL(configChanged()), SLOT(configChanged())); @@ -722,7 +722,7 @@ void Transport::setCycleMode(int id) // songChanged //--------------------------------------------------------- -void Transport::songChanged(int flags) +void Transport::songChanged(MusECore::SongChangedFlags_t flags) { // Is it simply a midi controller value adjustment? Forget it. if(flags == SC_MIDI_CONTROLLER) diff --git a/muse2/muse/transport.h b/muse2/muse/transport.h index 50422b66..55e991ef 100644 --- a/muse2/muse/transport.h +++ b/muse2/muse/transport.h @@ -24,6 +24,7 @@ #ifndef __TRANSPORT_H__ #define __TRANSPORT_H__ +#include "type_defs.h" #include "al/sig.h" #include <QWidget> @@ -129,7 +130,7 @@ class Transport : public QWidget void rposChanged(const MusECore::Pos&); void setRecMode(int); void setCycleMode(int); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); void syncChanged(bool); void jackSyncChanged(bool); void setRecord(bool flag); diff --git a/muse2/muse/type_defs.h b/muse2/muse/type_defs.h new file mode 100644 index 00000000..92709c02 --- /dev/null +++ b/muse2/muse/type_defs.h @@ -0,0 +1,35 @@ +//========================================================= +// MusE +// Linux Music Editor +// +// type_defs.h +// Copyright (C) 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 +// as published by the Free Software Foundation; version 2 of +// the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// +//========================================================= + +#ifndef __TYPE_DEFS_H__ +#define __TYPE_DEFS_H__ + +#include "stdint.h" + +namespace MusECore { + +typedef int64_t SongChangedFlags_t; + +} // namespace MusECore + +#endif diff --git a/muse2/muse/undo.cpp b/muse2/muse/undo.cpp index 38582d58..45642652 100644 --- a/muse2/muse/undo.cpp +++ b/muse2/muse/undo.cpp @@ -217,7 +217,6 @@ void Song::startUndo() undoList->push_back(Undo()); updateFlags = 0; - updateFlags2 = 0; undoMode = true; } @@ -225,10 +224,9 @@ void Song::startUndo() // endUndo //--------------------------------------------------------- -void Song::endUndo(int flags, int flags2) +void Song::endUndo(SongChangedFlags_t flags) { updateFlags |= flags; - updateFlags2 |= flags2; endMsgCmd(); undoMode = false; } @@ -399,7 +397,6 @@ void Song::doUndo2() case UndoOp::ModifySongLen: _len=i->b; updateFlags = -1; // set all flags // TODO Refine this! Too many flags. // REMOVE Tim. - updateFlags2 = -1; // set all flags break; case UndoOp::ModifyClip: case UndoOp::ModifyMarker: @@ -510,7 +507,6 @@ void Song::doRedo2() case UndoOp::ModifySongLen: _len=i->a; updateFlags = -1; // set all flags // TODO Refine this! Too many flags. // REMOVE Tim. - updateFlags2 = -1; // set all flags break; case UndoOp::ModifyClip: case UndoOp::ModifyMarker: diff --git a/muse2/muse/waveedit/waveedit.cpp b/muse2/muse/waveedit/waveedit.cpp index 67c46ad2..e1f18722 100644 --- a/muse2/muse/waveedit/waveedit.cpp +++ b/muse2/muse/waveedit/waveedit.cpp @@ -267,7 +267,7 @@ WaveEdit::WaveEdit(MusECore::PartList* pl) connect(view, SIGNAL(horizontalScroll(unsigned)),hscroll, SLOT(setPos(unsigned))); connect(hscroll, SIGNAL(scaleChanged(int)), SLOT(updateHScrollRange())); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged1(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged1(MusECore::SongChangedFlags_t))); initShortcuts(); @@ -451,7 +451,7 @@ void WaveEdit::readStatus(MusECore::Xml& xml) // signal from "song" //--------------------------------------------------------- -void WaveEdit::songChanged1(int bits) +void WaveEdit::songChanged1(MusECore::SongChangedFlags_t bits) { if(_isDeleting) // Ignore while while deleting to prevent crash. return; diff --git a/muse2/muse/waveedit/waveedit.h b/muse2/muse/waveedit/waveedit.h index b2617f49..d52eb986 100644 --- a/muse2/muse/waveedit/waveedit.h +++ b/muse2/muse/waveedit/waveedit.h @@ -31,6 +31,7 @@ #include <QCloseEvent> #include <QByteArray> +#include "type_defs.h" #include "midieditor.h" class QAction; @@ -80,7 +81,7 @@ class WaveEdit : public MidiEditor { private slots: void cmd(int); void setTime(unsigned t); - void songChanged1(int); + void songChanged1(MusECore::SongChangedFlags_t); void soloChanged(bool flag); void moveVerticalSlider(int val); diff --git a/muse2/muse/waveedit/waveview.cpp b/muse2/muse/waveedit/waveview.cpp index 1af1d83a..df579a43 100644 --- a/muse2/muse/waveedit/waveview.cpp +++ b/muse2/muse/waveedit/waveview.cpp @@ -79,7 +79,7 @@ WaveView::WaveView(MidiEditor* pr, QWidget* parent, int xscale, int yscale) connect(MusEGlobal::song, SIGNAL(posChanged(int,unsigned,bool)), SLOT(setPos(int,unsigned,bool))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); songChanged(SC_SELECTION); } @@ -254,7 +254,7 @@ QString WaveView::getCaption() const // songChanged //--------------------------------------------------------- -void WaveView::songChanged(int flags) +void WaveView::songChanged(MusECore::SongChangedFlags_t flags) { // Is it simply a midi controller value adjustment? Forget it. if(flags == SC_MIDI_CONTROLLER) diff --git a/muse2/muse/waveedit/waveview.h b/muse2/muse/waveedit/waveview.h index a3fcf9c5..6aa55120 100644 --- a/muse2/muse/waveedit/waveview.h +++ b/muse2/muse/waveedit/waveview.h @@ -23,6 +23,7 @@ #ifndef WAVE_VIEW_H #define WAVE_VIEW_H +#include "type_defs.h" #include "view.h" #include <QWidget> #include <QMouseEvent> @@ -105,7 +106,7 @@ class WaveView : public View { public slots: void setYScale(int); - void songChanged(int type); + void songChanged(MusECore::SongChangedFlags_t type); signals: void followEvent(int); diff --git a/muse2/muse/widgets/comment.cpp b/muse2/muse/widgets/comment.cpp index ea08c5b3..bb0ce033 100644 --- a/muse2/muse/widgets/comment.cpp +++ b/muse2/muse/widgets/comment.cpp @@ -57,7 +57,7 @@ TrackComment::TrackComment(MusECore::Track* t, QWidget* parent) setAttribute(Qt::WA_DeleteOnClose); setWindowTitle(tr("MusE: Track Comment")); track = t; - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); textentry->setText(track->comment()); textentry->moveCursor(QTextCursor::End); connect(textentry, SIGNAL(textChanged()), SLOT(textChanged())); @@ -69,7 +69,7 @@ TrackComment::TrackComment(MusECore::Track* t, QWidget* parent) // songChanged //--------------------------------------------------------- -void TrackComment::songChanged(int flags) +void TrackComment::songChanged(MusECore::SongChangedFlags_t flags) { if ((flags & (SC_TRACK_INSERTED|SC_TRACK_REMOVED|SC_TRACK_MODIFIED)) == 0) return; diff --git a/muse2/muse/widgets/comment.h b/muse2/muse/widgets/comment.h index f06757d2..9f71cb47 100644 --- a/muse2/muse/widgets/comment.h +++ b/muse2/muse/widgets/comment.h @@ -24,6 +24,7 @@ #define __COMMENT_H__ #include "ui_commentbase.h" +#include "type_defs.h" class QWidget; @@ -66,7 +67,7 @@ class TrackComment : public Comment { virtual void setText(const QString& s); private slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); public: TrackComment(MusECore::Track*, QWidget*); diff --git a/muse2/muse/widgets/midisyncimpl.cpp b/muse2/muse/widgets/midisyncimpl.cpp index 44d3ca04..fb20cff9 100644 --- a/muse2/muse/widgets/midisyncimpl.cpp +++ b/muse2/muse/widgets/midisyncimpl.cpp @@ -262,7 +262,7 @@ MidiSyncConfig::MidiSyncConfig(QWidget* parent) connect(syncDelaySpinBox, SIGNAL(valueChanged(int)), SLOT(syncChanged())); // Done in show(). - //connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + //connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); //connect(MusEGlobal::heartBeatTimer, SIGNAL(timeout()), SLOT(heartBeat())); } @@ -274,7 +274,7 @@ MidiSyncConfig::~MidiSyncConfig() // songChanged //--------------------------------------------------------- -void MidiSyncConfig::songChanged(int flags) +void MidiSyncConfig::songChanged(MusECore::SongChangedFlags_t flags) { // Is it simply a midi controller value adjustment? Forget it. Otherwise, it's mainly midi port/device changes we want. if(flags == SC_MIDI_CONTROLLER || @@ -578,7 +578,7 @@ void MidiSyncConfig::cancel() void MidiSyncConfig::show() { songChanged(-1); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::heartBeatTimer, SIGNAL(timeout()), SLOT(heartBeat())); QDialog::show(); } @@ -607,7 +607,7 @@ void MidiSyncConfig::closeEvent(QCloseEvent* e) } disconnect(MusEGlobal::heartBeatTimer, SIGNAL(timeout()), this, SLOT(heartBeat())); - disconnect(MusEGlobal::song, SIGNAL(songChanged(int, int)), this, SLOT(songChanged(int))); + disconnect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), this, SLOT(songChanged(MusECore::SongChangedFlags_t))); e->accept(); } diff --git a/muse2/muse/widgets/midisyncimpl.h b/muse2/muse/widgets/midisyncimpl.h index 9c22b55f..6801b510 100644 --- a/muse2/muse/widgets/midisyncimpl.h +++ b/muse2/muse/widgets/midisyncimpl.h @@ -25,6 +25,7 @@ #define __MIDISYNCIMPL_H__ #include "ui_midisync.h" +#include "type_defs.h" #include "sync.h" class QCloseEvent; @@ -119,7 +120,7 @@ class MidiSyncConfig : public QDialog, public Ui::MidiSyncConfigBase { void dlvClicked(QTreeWidgetItem*, int); void dlvDoubleClicked(QTreeWidgetItem*, int); //void renameOk(QListViewItem*, int, const QString&); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); public: MidiSyncConfig(QWidget* parent=0); diff --git a/muse2/muse/widgets/mtrackinfo.cpp b/muse2/muse/widgets/mtrackinfo.cpp index fc28f5d2..1b98f100 100644 --- a/muse2/muse/widgets/mtrackinfo.cpp +++ b/muse2/muse/widgets/mtrackinfo.cpp @@ -265,7 +265,7 @@ MidiTrackInfo::MidiTrackInfo(QWidget* parent, MusECore::Track* sel_track) : QWid //oRButton->setVisible(false); connect(oRButton, SIGNAL(pressed()), SLOT(outRoutesPressed())); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::muse, SIGNAL(configChanged()), SLOT(configChanged())); connect(MusEGlobal::heartBeatTimer, SIGNAL(timeout()), SLOT(heartBeat())); @@ -594,7 +594,7 @@ void MidiTrackInfo::configChanged() // songChanged //--------------------------------------------------------- -void MidiTrackInfo::songChanged(int type) +void MidiTrackInfo::songChanged(MusECore::SongChangedFlags_t type) { // Is it simply a midi controller value adjustment? Forget it. if(type == SC_MIDI_CONTROLLER) @@ -1368,7 +1368,7 @@ void MidiTrackInfo::iPanDoubleClicked() // updateTrackInfo //--------------------------------------------------------- -void MidiTrackInfo::updateTrackInfo(int flags) +void MidiTrackInfo::updateTrackInfo(MusECore::SongChangedFlags_t flags) { // Is it simply a midi controller value adjustment? Forget it. if(flags == SC_MIDI_CONTROLLER) diff --git a/muse2/muse/widgets/mtrackinfo.h b/muse2/muse/widgets/mtrackinfo.h index a38dcf20..fd21f066 100644 --- a/muse2/muse/widgets/mtrackinfo.h +++ b/muse2/muse/widgets/mtrackinfo.h @@ -24,6 +24,7 @@ #define __MTRACKINFO_H__ #include "ui_mtrackinfobase.h" +#include "type_defs.h" namespace MusECore { class Track; @@ -78,7 +79,7 @@ class MidiTrackInfo : public QWidget, public Ui::MidiTrackInfoBase public slots: void setTrack(MusECore::Track*); void configChanged(); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); signals: void returnPressed(); @@ -89,7 +90,7 @@ class MidiTrackInfo : public QWidget, public Ui::MidiTrackInfoBase MusECore::Track* track() const { return selected; } void setLabelText(); void setLabelFont(); - void updateTrackInfo(int); + void updateTrackInfo(MusECore::SongChangedFlags_t); }; } // namespace MusEGui diff --git a/muse2/muse/widgets/mtscale.cpp b/muse2/muse/widgets/mtscale.cpp index f0e5ba8d..00947f6f 100644 --- a/muse2/muse/widgets/mtscale.cpp +++ b/muse2/muse/widgets/mtscale.cpp @@ -58,7 +58,7 @@ MTScale::MTScale(int* r, QWidget* parent, int xs, bool _mode) button = Qt::NoButton; setMouseTracking(true); connect(MusEGlobal::song, SIGNAL(posChanged(int, unsigned, bool)), SLOT(setPos(int, unsigned, bool))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::song, SIGNAL(markerChanged(int)), SLOT(redraw())); setFixedHeight(28); @@ -69,7 +69,7 @@ MTScale::MTScale(int* r, QWidget* parent, int xs, bool _mode) // songChanged //--------------------------------------------------------- -void MTScale::songChanged(int type) +void MTScale::songChanged(MusECore::SongChangedFlags_t type) { if (type & (SC_SIG|SC_TEMPO)) { if ((type & SC_TEMPO) && waveMode) { diff --git a/muse2/muse/widgets/mtscale.h b/muse2/muse/widgets/mtscale.h index a505c832..4f76dcc2 100644 --- a/muse2/muse/widgets/mtscale.h +++ b/muse2/muse/widgets/mtscale.h @@ -23,6 +23,7 @@ #ifndef __MTSCALE_H__ #define __MTSCALE_H__ +#include "type_defs.h" #include "view.h" @@ -42,7 +43,7 @@ class MTScale : public View { bool waveMode; private slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); protected: virtual void pdraw(QPainter&, const QRect&); diff --git a/muse2/muse/widgets/mtscale_flo.cpp b/muse2/muse/widgets/mtscale_flo.cpp index 787d9030..9eb0253a 100644 --- a/muse2/muse/widgets/mtscale_flo.cpp +++ b/muse2/muse/widgets/mtscale_flo.cpp @@ -51,7 +51,7 @@ MTScaleFlo::MTScaleFlo(ScoreCanvas* parent_editor, QWidget* parent_widget) button = Qt::NoButton; setMouseTracking(true); connect(MusEGlobal::song, SIGNAL(posChanged(int, unsigned, bool)), SLOT(setPos(int, unsigned, bool))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::song, SIGNAL(markerChanged(int)), SLOT(redraw())); parent=parent_editor; @@ -64,7 +64,7 @@ MTScaleFlo::MTScaleFlo(ScoreCanvas* parent_editor, QWidget* parent_widget) // songChanged //--------------------------------------------------------- -void MTScaleFlo::songChanged(int type) +void MTScaleFlo::songChanged(MusECore::SongChangedFlags_t type) { if (type & (SC_SIG|SC_TEMPO)) redraw(); diff --git a/muse2/muse/widgets/mtscale_flo.h b/muse2/muse/widgets/mtscale_flo.h index 9a0b414e..4b089f5e 100644 --- a/muse2/muse/widgets/mtscale_flo.h +++ b/muse2/muse/widgets/mtscale_flo.h @@ -23,6 +23,7 @@ #ifndef __MTSCALE_FLO_H__ #define __MTSCALE_FLO_H__ +#include "type_defs.h" #include "view.h" @@ -44,7 +45,7 @@ class MTScaleFlo : public View { int xoffset; private slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); protected: virtual void draw(QPainter&, const QRect&); diff --git a/muse2/muse/widgets/routepopup.cpp b/muse2/muse/widgets/routepopup.cpp index 84b98d79..f3390298 100644 --- a/muse2/muse/widgets/routepopup.cpp +++ b/muse2/muse/widgets/routepopup.cpp @@ -737,10 +737,10 @@ RoutePopupMenu::RoutePopupMenu(const QString& title, QWidget* parent, MusECore:: void RoutePopupMenu::init() { //printf("RoutePopupMenu::init this:%p\n", this); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); } -void RoutePopupMenu::songChanged(int val) +void RoutePopupMenu::songChanged(MusECore::SongChangedFlags_t val) { if(val & (SC_ROUTE | SC_CHANNELS | SC_CONFIG)) updateRouteMenus(); diff --git a/muse2/muse/widgets/routepopup.h b/muse2/muse/widgets/routepopup.h index e4ecde4c..b379842b 100644 --- a/muse2/muse/widgets/routepopup.h +++ b/muse2/muse/widgets/routepopup.h @@ -24,6 +24,7 @@ #define __ROUTEPOPUPMENU_H__ //#include <QObject> +#include "type_defs.h" #include "popupmenu.h" namespace MusECore { @@ -67,7 +68,7 @@ class RoutePopupMenu : public PopupMenu private slots: void popupActivated(QAction*); - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); public: RoutePopupMenu(QWidget* parent = 0, MusECore::Track* track = 0, bool isOutput = false); diff --git a/muse2/muse/widgets/sig_tempo_toolbar.cpp b/muse2/muse/widgets/sig_tempo_toolbar.cpp index 22296df2..ecc3ace6 100644 --- a/muse2/muse/widgets/sig_tempo_toolbar.cpp +++ b/muse2/muse/widgets/sig_tempo_toolbar.cpp @@ -46,7 +46,7 @@ namespace MusEGui layout->addWidget(label); layout->addWidget(tempo_edit); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), this, SLOT(song_changed(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), this, SLOT(song_changed(MusECore::SongChangedFlags_t))); connect(MusEGlobal::song, SIGNAL(posChanged(int, unsigned, bool)), this, SLOT(pos_changed(int,unsigned,bool))); connect(tempo_edit, SIGNAL(tempoChanged(double)), MusEGlobal::song, SLOT(setTempo(double))); @@ -61,7 +61,7 @@ namespace MusEGui song_changed(SC_TEMPO); } - void TempoToolbarWidget::song_changed(int type) + void TempoToolbarWidget::song_changed(MusECore::SongChangedFlags_t type) { if (type & SC_TEMPO) { @@ -92,7 +92,7 @@ namespace MusEGui layout->addWidget(label); layout->addWidget(sig_edit); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), this, SLOT(song_changed(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), this, SLOT(song_changed(MusECore::SongChangedFlags_t))); connect(MusEGlobal::song, SIGNAL(posChanged(int, unsigned, bool)), this, SLOT(pos_changed(int,unsigned,bool))); connect(sig_edit, SIGNAL(valueChanged(const AL::TimeSignature&)), MusEGlobal::song, SLOT(setSig(const AL::TimeSignature&))); @@ -107,7 +107,7 @@ namespace MusEGui song_changed(SC_SIG); } - void SigToolbarWidget::song_changed(int type) + void SigToolbarWidget::song_changed(MusECore::SongChangedFlags_t type) { if (type & SC_SIG) { diff --git a/muse2/muse/widgets/sig_tempo_toolbar.h b/muse2/muse/widgets/sig_tempo_toolbar.h index b3fd2088..51271d30 100644 --- a/muse2/muse/widgets/sig_tempo_toolbar.h +++ b/muse2/muse/widgets/sig_tempo_toolbar.h @@ -24,6 +24,7 @@ #define __SIG_TEMPO_TOOLBAR_H__ #include <QWidget> +#include "type_defs.h" namespace Awl { @@ -55,7 +56,7 @@ namespace MusEGui private slots: void pos_changed(int,unsigned,bool); - void song_changed(int); + void song_changed(MusECore::SongChangedFlags_t); }; class TempoToolbarWidget : public QWidget @@ -76,7 +77,7 @@ namespace MusEGui private slots: void pos_changed(int,unsigned,bool); - void song_changed(int); + void song_changed(MusECore::SongChangedFlags_t); }; } diff --git a/muse2/muse/widgets/songpos_toolbar.cpp b/muse2/muse/widgets/songpos_toolbar.cpp index ef87f378..ff52a4ad 100644 --- a/muse2/muse/widgets/songpos_toolbar.cpp +++ b/muse2/muse/widgets/songpos_toolbar.cpp @@ -33,12 +33,14 @@ namespace MusEGui { _raster=0; setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), this, SLOT(song_changed(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), this, SLOT(song_changed(MusECore::SongChangedFlags_t))); song_changed(0); } - void SongPosToolbarWidget::song_changed(int) + void SongPosToolbarWidget::song_changed(MusECore::SongChangedFlags_t flags) { + if(flags & SC_MIDI_CONTROLLER) // TODO: Filter more stuff out + return; if (width()!=0) setXMag(-(MusEGlobal::song->len()/width())); } diff --git a/muse2/muse/widgets/songpos_toolbar.h b/muse2/muse/widgets/songpos_toolbar.h index 063b2ffd..02f0501c 100644 --- a/muse2/muse/widgets/songpos_toolbar.h +++ b/muse2/muse/widgets/songpos_toolbar.h @@ -23,6 +23,7 @@ #ifndef __SONGPOS_TOOLBAR_H__ #define __SONGPOS_TOOLBAR_H__ +#include "type_defs.h" #include "mtscale.h" namespace MusEGui @@ -43,7 +44,7 @@ namespace MusEGui virtual void resizeEvent(QResizeEvent*); private slots: - void song_changed(int); + void song_changed(MusECore::SongChangedFlags_t); }; } diff --git a/muse2/muse/widgets/wtscale.cpp b/muse2/muse/widgets/wtscale.cpp index b41e7b83..bf5106b2 100644 --- a/muse2/muse/widgets/wtscale.cpp +++ b/muse2/muse/widgets/wtscale.cpp @@ -54,7 +54,7 @@ WTScale::WTScale(int* r, QWidget* parent, int xs) button = Qt::NoButton; setMouseTracking(true); connect(MusEGlobal::song, SIGNAL(posChanged(int, unsigned, bool)), SLOT(setPos(int, unsigned, bool))); - connect(MusEGlobal::song, SIGNAL(songChanged(int, int)), SLOT(songChanged(int))); + connect(MusEGlobal::song, SIGNAL(songChanged(MusECore::SongChangedFlags_t)), SLOT(songChanged(MusECore::SongChangedFlags_t))); connect(MusEGlobal::song, SIGNAL(markerChanged(int)), SLOT(redraw())); setFixedHeight(28); setBg(QColor(0xe0, 0xe0, 0xe0)); @@ -64,7 +64,7 @@ WTScale::WTScale(int* r, QWidget* parent, int xs) // songChanged //--------------------------------------------------------- -void WTScale::songChanged(int /*type*/) +void WTScale::songChanged(MusECore::SongChangedFlags_t /*type*/) { } diff --git a/muse2/muse/widgets/wtscale.h b/muse2/muse/widgets/wtscale.h index 1999a91f..989daf29 100644 --- a/muse2/muse/widgets/wtscale.h +++ b/muse2/muse/widgets/wtscale.h @@ -23,6 +23,7 @@ #ifndef __MTSCALE_H__ #define __MTSCALE_H__ +#include "type_defs.h" #include "view.h" namespace MusEGui { @@ -40,7 +41,7 @@ class WTScale : public View { bool barLocator; private slots: - void songChanged(int); + void songChanged(MusECore::SongChangedFlags_t); protected: virtual void pdraw(QPainter&, const QRect&); |