diff options
42 files changed, 833 insertions, 193 deletions
diff --git a/muse/ChangeLog b/muse/ChangeLog index ec350b2a..63b55e7b 100644 --- a/muse/ChangeLog +++ b/muse/ChangeLog @@ -1,3 +1,6 @@ +20.5 (ws) + * new controller select dialog + * build libsynti.a with -fPIC for athlon64 systems 19.5 (ws) * install libawlplugin.so to make LADSPA plugin guis work * added project creation time and song len (in sec) to project file diff --git a/muse/muse/CMakeLists.txt b/muse/muse/CMakeLists.txt index 88deda29..c2b81934 100644 --- a/muse/muse/CMakeLists.txt +++ b/muse/muse/CMakeLists.txt @@ -55,7 +55,8 @@ set (muse_uics ) set(muse_mocs - projectdialog templatedialog preferences plugingui midiplugin muse + projectdialog templatedialog + preferences plugingui midiplugin muse song transport conf editor cobject transpose track midisynti midiport miditrack wavetrack audiotrack audioaux audiooutput diff --git a/muse/muse/arranger/arranger.cpp b/muse/muse/arranger/arranger.cpp index 4884fb59..22aa631c 100644 --- a/muse/muse/arranger/arranger.cpp +++ b/muse/muse/arranger/arranger.cpp @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: arranger.cpp,v 1.150 2006/04/23 12:27:50 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004-2005 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "song.h" #include "muse.h" diff --git a/muse/muse/arranger/arranger.h b/muse/muse/arranger/arranger.h index b48fdaf0..47a58b59 100644 --- a/muse/muse/arranger/arranger.h +++ b/muse/muse/arranger/arranger.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: arranger.h,v 1.72 2006/02/07 16:59:35 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __ARRANGER_H__ #define __ARRANGER_H__ diff --git a/muse/muse/arranger/canvas.cpp b/muse/muse/arranger/canvas.cpp index 8dfbd9b5..c9c694f5 100644 --- a/muse/muse/arranger/canvas.cpp +++ b/muse/muse/arranger/canvas.cpp @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: canvas.cpp,v 1.57 2006/03/24 21:41:16 a-lin Exp $ +// $Id:$ // -// (C) Copyright 2004-2005 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "canvas.h" #include "al/sig.h" diff --git a/muse/muse/arranger/canvas.h b/muse/muse/arranger/canvas.h index 3abe53f4..d1c1d166 100644 --- a/muse/muse/arranger/canvas.h +++ b/muse/muse/arranger/canvas.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: canvas.h,v 1.21 2006/01/23 17:41:21 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2005 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __CANVAS_H__ #define __CANVAS_H__ diff --git a/muse/muse/arranger/configtrack.cpp b/muse/muse/arranger/configtrack.cpp index 8fee2af1..f212329e 100644 --- a/muse/muse/arranger/configtrack.cpp +++ b/muse/muse/arranger/configtrack.cpp @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: configtrack.cpp,v 1.10 2005/11/05 11:05:24 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "configtrack.h" #include "trelement.h" diff --git a/muse/muse/arranger/configtrack.h b/muse/muse/arranger/configtrack.h index 72579fb6..47dd0f4a 100644 --- a/muse/muse/arranger/configtrack.h +++ b/muse/muse/arranger/configtrack.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: configtrack.h,v 1.4 2005/11/02 18:02:10 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __CONFIG_TRACK_H__ #define __CONFIG_TRACK_H__ diff --git a/muse/muse/arranger/miditrackinfo.h b/muse/muse/arranger/miditrackinfo.h index 7f5e0775..ba066986 100644 --- a/muse/muse/arranger/miditrackinfo.h +++ b/muse/muse/arranger/miditrackinfo.h @@ -1,9 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: miditrackinfo.h,v 1.2 2004/10/07 17:53:47 wschweer Exp $ -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __MIDITRACKINFO_H__ #define __MIDITRACKINFO_H__ diff --git a/muse/muse/arranger/partdrag.cpp b/muse/muse/arranger/partdrag.cpp index c78fbdc4..9415fc88 100644 --- a/muse/muse/arranger/partdrag.cpp +++ b/muse/muse/arranger/partdrag.cpp @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: partdrag.cpp,v 1.5 2006/01/25 22:25:48 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "partdrag.h" diff --git a/muse/muse/arranger/partdrag.h b/muse/muse/arranger/partdrag.h index 8eaecc07..489d7f80 100644 --- a/muse/muse/arranger/partdrag.h +++ b/muse/muse/arranger/partdrag.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: partdrag.h,v 1.3 2005/11/04 12:03:35 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __PARTDRAG_H__ #define __PARTDRAG_H__ diff --git a/muse/muse/arranger/selectfilter.h b/muse/muse/arranger/selectfilter.h index ee448ce1..a28e6947 100644 --- a/muse/muse/arranger/selectfilter.h +++ b/muse/muse/arranger/selectfilter.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: selectfilter.h,v 1.1 2005/01/24 14:32:34 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2005 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __SELECTFILTER_H__ #define __SELECTFILTER_H__ diff --git a/muse/muse/arranger/tllineedit.cpp b/muse/muse/arranger/tllineedit.cpp index 4d5f9b4f..0581b858 100644 --- a/muse/muse/arranger/tllineedit.cpp +++ b/muse/muse/arranger/tllineedit.cpp @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: tllineedit.cpp,v 1.8 2006/01/12 14:49:13 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "tllineedit.h" diff --git a/muse/muse/arranger/tllineedit.h b/muse/muse/arranger/tllineedit.h index b0e5fb35..56bfdd55 100644 --- a/muse/muse/arranger/tllineedit.h +++ b/muse/muse/arranger/tllineedit.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: tllineedit.h,v 1.3 2006/01/06 22:48:09 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __TLLINEEDIT_H__ #define __TLLINEEDIT_H__ diff --git a/muse/muse/arranger/tlswidget.cpp b/muse/muse/arranger/tlswidget.cpp index fa86e9e3..df498647 100644 --- a/muse/muse/arranger/tlswidget.cpp +++ b/muse/muse/arranger/tlswidget.cpp @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: tlswidget.cpp,v 1.33 2006/01/12 14:49:13 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "song.h" #include "track.h" @@ -16,6 +28,7 @@ #include "muse.h" #include "midiport.h" #include "ctrl/configmidictrl.h" +#include "ctrl/ctrldialog.h" #include "midictrl.h" #include "widgets/utils.h" @@ -123,16 +136,15 @@ TLSWidget::TLSWidget(Track* t, ArrangerTrack* atrack, TimeCanvas* timeC) l->addWidget(minus); ctrlList = new QToolButton; - ctrlList->setPopupMode(QToolButton::MenuButtonPopup); - ctrlMenu = new QMenu; - connect(ctrlMenu, SIGNAL(aboutToShow()), SLOT(showController())); - ctrlList->setMenu(ctrlMenu); + ctrlList->setText(tr("Ctrl")); + + connect(ctrlList, SIGNAL(clicked()), SLOT(showControllerList())); l->addWidget(ctrlList); ctrlList->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); updateController(); - connect(ctrlMenu, SIGNAL(triggered(QAction*)), SLOT(selectController(QAction*))); + connect(_track, SIGNAL(clChanged()), SLOT(updateController())); connect(_track, SIGNAL(selectionChanged(bool)), SLOT(selectionChanged())); connect(_track, SIGNAL(controllerChanged(int)), SLOT(controllerListChanged(int))); @@ -190,28 +202,32 @@ void TLSWidget::updateController() } //--------------------------------------------------------- -// showController -//--------------------------------------------------------- - -void TLSWidget::showController() - { - populateControllerMenu(ctrlMenu); - } - -//--------------------------------------------------------- -// selectController +// showControllerList //--------------------------------------------------------- -void TLSWidget::selectController(QAction* a) +void TLSWidget::showControllerList() { - selectController(a->data().toInt()); + Ctrl* c = ctrl(); + int id; + if (c) + id = c->id(); + else + id = CTRL_NO_CTRL; + CtrlDialog cd(_ctrlTrack, id); + int rv = cd.exec(); + if (rv != 1) + return; + id = cd.curId(); + if (id == CTRL_NO_CTRL) + return; + setCtrl(id); } //--------------------------------------------------------- -// selectController +// setCtrl //--------------------------------------------------------- -void TLSWidget::selectController(int ctrl) +void TLSWidget::setCtrl(int ctrl) { if (ctrl == CTRL_OTHER) { // "other" /*??*/ ConfigMidiCtrl* mce = new ConfigMidiCtrl((MidiTrack*)_track); @@ -249,34 +265,6 @@ void TLSWidget::selectController(int ctrl) } //--------------------------------------------------------- -// setCtrl -//--------------------------------------------------------- - -void TLSWidget::setCtrl(int ctrl) - { - if (ctrl == CTRL_OTHER) { - QList<QAction*> actions = ctrlMenu->actions(); - if (actions.isEmpty()) { - if (_track->type() == Track::MIDI) { - selectController(CTRL_VELOCITY); - return; - } - ControllerNameList* cn = _track->controllerNames(); - if (!cn->empty()) - selectController(cn->front().id); - delete cn; - return; - } - QAction* a = actions.at(0); - if (a) - selectController(a); - } - else { - selectController(ctrl); - } - } - -//--------------------------------------------------------- // labelMinusClicked //--------------------------------------------------------- diff --git a/muse/muse/arranger/tlswidget.h b/muse/muse/arranger/tlswidget.h index f452a626..a6e8045f 100644 --- a/muse/muse/arranger/tlswidget.h +++ b/muse/muse/arranger/tlswidget.h @@ -1,18 +1,29 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: tlswidget.h,v 1.11 2005/11/29 20:49:13 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __TLSWIDGET_H__ #define __TLSWIDGET_H__ class Track; -class SimpleButton; class ArrangerTrack; -class CtrlEdit; +class CtrlDialog; class TimeCanvas; #include "ctrl/ctrleditor.h" @@ -33,7 +44,7 @@ class TLSWidget : public QWidget, public CtrlEditor { Track* _ctrlTrack; // track were ctrl belongs to TimeCanvas* _tc; QToolButton* ctrlList; - QMenu* ctrlMenu; +// CtrlDialog* ctrlMenu; QLineEdit* nameEdit; ArrangerTrack* at; @@ -46,17 +57,14 @@ class TLSWidget : public QWidget, public CtrlEditor { virtual void mouseReleaseEvent(QMouseEvent*); virtual void mouseMoveEvent(QMouseEvent*); - void selectController(int); - private slots: void labelMinusClicked(); void updateController(); - void showController(); + void showControllerList(); void selectionChanged(); void configChanged(); void controllerListChanged(int); void autoReadChanged(); - void selectController(QAction*); signals: void minusClicked(TLSWidget*); diff --git a/muse/muse/arranger/tlwidget.cpp b/muse/muse/arranger/tlwidget.cpp index a6bf14c7..1dc8e0d8 100644 --- a/muse/muse/arranger/tlwidget.cpp +++ b/muse/muse/arranger/tlwidget.cpp @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: tlwidget.cpp,v 1.58 2006/02/03 16:46:38 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "song.h" #include "track.h" diff --git a/muse/muse/arranger/tlwidget.h b/muse/muse/arranger/tlwidget.h index 5050f21c..056d1e52 100644 --- a/muse/muse/arranger/tlwidget.h +++ b/muse/muse/arranger/tlwidget.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: tlwidget.h,v 1.21 2006/02/03 16:46:38 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __TLWIDGET_H__ #define __TLWIDGET_H__ diff --git a/muse/muse/arranger/tlwlayout.cpp b/muse/muse/arranger/tlwlayout.cpp index ba1cd5a8..126bcaea 100644 --- a/muse/muse/arranger/tlwlayout.cpp +++ b/muse/muse/arranger/tlwlayout.cpp @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: tlwlayout.cpp,v 1.21 2006/01/12 14:49:13 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2005 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "tlwlayout.h" #include "arranger.h" diff --git a/muse/muse/arranger/tlwlayout.h b/muse/muse/arranger/tlwlayout.h index 664ba449..1a9cc914 100644 --- a/muse/muse/arranger/tlwlayout.h +++ b/muse/muse/arranger/tlwlayout.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: tlwlayout.h,v 1.4 2005/11/01 10:00:29 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __TLWLAYOUT_H__ #define __TLWLAYOUT_H__ diff --git a/muse/muse/arranger/trackdrag.cpp b/muse/muse/arranger/trackdrag.cpp index 34da92a6..beab87dd 100644 --- a/muse/muse/arranger/trackdrag.cpp +++ b/muse/muse/arranger/trackdrag.cpp @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: trackdrag.cpp,v 1.6 2005/11/09 09:03:51 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "trackdrag.h" diff --git a/muse/muse/arranger/trackdrag.h b/muse/muse/arranger/trackdrag.h index 7edfdcde..083a94b3 100644 --- a/muse/muse/arranger/trackdrag.h +++ b/muse/muse/arranger/trackdrag.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: trackdrag.h,v 1.4 2005/09/26 18:26:20 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __TRACKDRAG_H__ #define __TRACKDRAG_H__ diff --git a/muse/muse/arranger/trackinfo.cpp b/muse/muse/arranger/trackinfo.cpp index cbf1812b..8107c5f5 100644 --- a/muse/muse/arranger/trackinfo.cpp +++ b/muse/muse/arranger/trackinfo.cpp @@ -1,9 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: trackinfo.cpp,v 1.45 2006/01/14 17:08:48 wschweer Exp $ -// (C) Copyright 1999-2005 Werner Schweer (ws@seh.de) -//========================================================= +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "arranger.h" #include "widgets/outportcombo.h" diff --git a/muse/muse/arranger/trackinfo.h b/muse/muse/arranger/trackinfo.h index 656c8e11..d4565aa4 100644 --- a/muse/muse/arranger/trackinfo.h +++ b/muse/muse/arranger/trackinfo.h @@ -1,9 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: trackinfo.h,v 1.14 2006/01/11 16:14:28 wschweer Exp $ -// (C) Copyright 1999-2005 Werner Schweer (ws@seh.de) -//========================================================= +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __TRACKINFO_H__ #define __TRACKINFO_H__ diff --git a/muse/muse/arranger/trelement.h b/muse/muse/arranger/trelement.h index fe2e2f1a..478b5e51 100644 --- a/muse/muse/arranger/trelement.h +++ b/muse/muse/arranger/trelement.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: trelement.h,v 1.6 2005/05/17 15:07:57 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __TR_ELEMENT_H__ #define __TR_ELEMENT_H__ diff --git a/muse/muse/conf.cpp b/muse/muse/conf.cpp index 0ba0119e..0c89fe62 100644 --- a/muse/muse/conf.cpp +++ b/muse/muse/conf.cpp @@ -398,7 +398,8 @@ void MusE::writeGlobalConfiguration(Xml& xml) const xml.strTag("copyright", config.copyright); xml.intTag("smfFormat", config.smfFormat); xml.intTag("startMode", config.startMode); - xml.strTag("startProject", config.startProject); + if (!config.startProject.isEmpty()) + xml.strTag("startProject", config.startProject); xml.intTag("freewheelMode", config.useJackFreewheelMode); xml.intTag("txDeviceId", txDeviceId); diff --git a/muse/muse/ctrl/CMakeLists.txt b/muse/muse/ctrl/CMakeLists.txt index bf771caf..d2916fb4 100644 --- a/muse/muse/ctrl/CMakeLists.txt +++ b/muse/muse/ctrl/CMakeLists.txt @@ -18,11 +18,17 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #============================================================================= -QT4_WRAP_CPP (ctrl_mocs configmidictrl.h ctrleditor.h) -QT4_WRAP_UI (ctrl_ui_headers configmidictrl.ui) +QT4_WRAP_CPP (ctrl_mocs + configmidictrl.h ctrleditor.h ctrldialog.h + ) +QT4_WRAP_UI (ctrl_ui_headers + configmidictrl.ui ctrldialog.ui + ) add_library ( ctrl STATIC configmidictrl.cpp + ctrldialog.cpp + ctrldialog.h ctrleditor.cpp configmidictrl.h ctrleditor.h diff --git a/muse/muse/ctrl/configmidictrl.cpp b/muse/muse/ctrl/configmidictrl.cpp index 1a7f652e..4efadef4 100644 --- a/muse/muse/ctrl/configmidictrl.cpp +++ b/muse/muse/ctrl/configmidictrl.cpp @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: configmidictrl.cpp,v 1.3 2005/10/31 14:55:04 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "configmidictrl.h" #include "track.h" diff --git a/muse/muse/ctrl/configmidictrl.h b/muse/muse/ctrl/configmidictrl.h index f3adcc2f..28560d79 100644 --- a/muse/muse/ctrl/configmidictrl.h +++ b/muse/muse/ctrl/configmidictrl.h @@ -1,10 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: configmidictrl.h,v 1.1 2005/10/24 20:38:56 wschweer Exp $ +// $Id:$ // -// (C) Copyright 2004 Werner Schweer (ws@seh.de) -//========================================================= +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __CONFIGMIDICTRL_H__ #define __CONFIGMIDICTRL_H__ diff --git a/muse/muse/ctrl/ctrldialog.cpp b/muse/muse/ctrl/ctrldialog.cpp new file mode 100644 index 00000000..d17b005d --- /dev/null +++ b/muse/muse/ctrl/ctrldialog.cpp @@ -0,0 +1,156 @@ +//============================================================================= +// MusE +// Linux Music Editor +// $Id:$ +// +// Copyright (C) 2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= + +#include "ctrldialog.h" +#include "midictrl.h" +#include "track.h" +#include "miditrack.h" +#include "audiotrack.h" +#include "plugin.h" + +//--------------------------------------------------------- +// CtrlDialog +//--------------------------------------------------------- + +CtrlDialog::CtrlDialog(Track* track, int currentId, QWidget* parent) + : QDialog(parent) + { + setupUi(this); + QTreeWidgetItem* ci; + if (track->type() == Track::MIDI) { + // + // add special controll for midi tracks + // + ci = new QTreeWidgetItem(tw, CTRL_VELOCITY); + ci->setText(0, "Velocity"); + if (CTRL_VELOCITY == currentId) { + tw->setCurrentItem(ci); + tw->setItemSelected(ci, true); + } + if (((MidiTrack*)(track))->drumMap()) { + ci = new QTreeWidgetItem(tw, CTRL_SVELOCITY); + ci->setText(0, "Single Velocity"); + + if (CTRL_SVELOCITY == currentId) { + tw->setCurrentItem(ci); + tw->setItemSelected(ci, true); + } + } + } + else if (track->type() == Track::WAVE) { + // + // present plugin parameter + // + Pipeline* pl = ((AudioTrack*)track)->efxPipe(); + int idx = 0; + for (iPluginI i = pl->begin(); i != pl->end(); ++i, ++idx) { + PluginI* plugin = *i; + if (plugin == 0) + continue; + ci = new QTreeWidgetItem(tw, CTRL_NO_CTRL); + ci->setText(0, plugin->name()); + int ncontroller = plugin->plugin()->parameter(); + for (int i = 0; i < ncontroller; ++i) { + QString name(plugin->getParameterName(i)); + int id = (idx + 1) * 0x1000 + i; + QTreeWidgetItem* cci = new QTreeWidgetItem(ci, id); + cci->setText(0, name); + if (id == currentId) { + tw->setCurrentItem(cci); + tw->setItemSelected(cci, true); + } + } + } + // + // add rest parameter + // + ControllerNameList* cn = track->controllerNames(); + for (iControllerName i = cn->begin(); i != cn->end(); ++i) { + if (i->id & 0xfffff000) + continue; + ci = new QTreeWidgetItem(tw, i->id); + ci->setText(0, i->name); + if (i->id == currentId) { + tw->setCurrentItem(ci); + tw->setItemSelected(ci, true); + } + } + } + + else { + ControllerNameList* cn = track->controllerNames(); + for (iControllerName i = cn->begin(); i != cn->end(); ++i) { + ci = new QTreeWidgetItem(tw, i->id); + ci->setText(0, i->name); + + if (i->id == currentId) { + tw->setCurrentItem(ci); + tw->setItemSelected(ci, true); + } + } + } + if (track->type() == Track::MIDI) { + // + // add midi channel controller + // + MidiChannel* mc = ((MidiTrack*)track)->channel(); + if (mc) { + ControllerNameList* cn = mc->controllerNames(); + for (iControllerName i = cn->begin(); i != cn->end(); ++i) { + ci = new QTreeWidgetItem(tw, i->id); + ci->setText(0, i->name); + + if (i->id == currentId) { + tw->setCurrentItem(ci); + tw->setItemSelected(ci, true); + } + } + } + } + ci = new QTreeWidgetItem(tw, CTRL_OTHER); + ci->setText(0, tr("other")); + connect(tw, + SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)), + SLOT(itemDoubleClicked(QTreeWidgetItem*, int))); + } + +//--------------------------------------------------------- +// itemDoubleClicked +//--------------------------------------------------------- + +void CtrlDialog::itemDoubleClicked(QTreeWidgetItem* item, int) + { + if (item->type() != CTRL_NO_CTRL) + accept(); + } + +//--------------------------------------------------------- +// CtrlDialog +//--------------------------------------------------------- + +int CtrlDialog::curId() const + { + QTreeWidgetItem* item = tw->currentItem(); + if (item == 0) + return CTRL_NO_CTRL; + return item->type(); + } + + diff --git a/muse/muse/ctrl/ctrldialog.h b/muse/muse/ctrl/ctrldialog.h new file mode 100644 index 00000000..063cfcc2 --- /dev/null +++ b/muse/muse/ctrl/ctrldialog.h @@ -0,0 +1,45 @@ +//============================================================================= +// MusE +// Linux Music Editor +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= + +#ifndef __CTRL_DIALOG_H__ +#define __CTRL_DIALOG_H__ + +#include "ui_ctrldialog.h" + +class Track; + +//--------------------------------------------------------- +// CtrlDialog +//--------------------------------------------------------- + +class CtrlDialog : public QDialog, public Ui_CtrlDialogBase { + Q_OBJECT + + private slots: + void itemDoubleClicked(QTreeWidgetItem*, int); + + public: + CtrlDialog(Track*, int, QWidget* parent = 0); + int curId() const; + }; + + +#endif + diff --git a/muse/muse/ctrl/ctrldialog.ui b/muse/muse/ctrl/ctrldialog.ui new file mode 100644 index 00000000..c63482d9 --- /dev/null +++ b/muse/muse/ctrl/ctrldialog.ui @@ -0,0 +1,115 @@ +<ui version="4.0" > + <author></author> + <comment></comment> + <exportmacro></exportmacro> + <class>CtrlDialogBase</class> + <widget class="QDialog" name="CtrlDialogBase" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle" > + <string>MusE: Select Controller</string> + </property> + <layout class="QVBoxLayout" > + <property name="margin" > + <number>9</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <widget class="QTreeWidget" name="tw" > + <property name="alternatingRowColors" > + <bool>true</bool> + </property> + <property name="columnCount" > + <number>1</number> + </property> + <column> + <property name="text" > + <string>Controller</string> + </property> + </column> + </widget> + </item> + <item> + <layout class="QHBoxLayout" > + <property name="margin" > + <number>0</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <spacer> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" > + <size> + <width>131</width> + <height>31</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="okButton" > + <property name="text" > + <string>OK</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="cancelButton" > + <property name="text" > + <string>Cancel</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <pixmapfunction></pixmapfunction> + <resources/> + <connections> + <connection> + <sender>okButton</sender> + <signal>clicked()</signal> + <receiver>CtrlDialogBase</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel" > + <x>278</x> + <y>253</y> + </hint> + <hint type="destinationlabel" > + <x>96</x> + <y>254</y> + </hint> + </hints> + </connection> + <connection> + <sender>cancelButton</sender> + <signal>clicked()</signal> + <receiver>CtrlDialogBase</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel" > + <x>369</x> + <y>253</y> + </hint> + <hint type="destinationlabel" > + <x>179</x> + <y>282</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/muse/muse/ctrl/ctrleditor.cpp b/muse/muse/ctrl/ctrleditor.cpp index f1906cdc..ec12f872 100644 --- a/muse/muse/ctrl/ctrleditor.cpp +++ b/muse/muse/ctrl/ctrleditor.cpp @@ -1,9 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: ctrleditor.cpp,v 1.12 2006/01/28 19:11:20 wschweer Exp $ -// (C) Copyright 2005 Werner Schweer (ws@seh.de) -//========================================================= +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #include "ctrleditor.h" #include "track.h" diff --git a/muse/muse/ctrl/ctrleditor.h b/muse/muse/ctrl/ctrleditor.h index 9fa9d02a..e066431f 100644 --- a/muse/muse/ctrl/ctrleditor.h +++ b/muse/muse/ctrl/ctrleditor.h @@ -1,9 +1,22 @@ -//========================================================= +//============================================================================= // MusE // Linux Music Editor -// $Id: ctrleditor.h,v 1.5 2006/01/28 19:11:20 wschweer Exp $ -// (C) Copyright 2005 Werner Schweer (ws@seh.de) -//========================================================= +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= #ifndef __CTRL_EDITOR_H__ #define __CTRL_EDITOR_H__ diff --git a/muse/muse/driver/jack.cpp b/muse/muse/driver/jack.cpp index d5dbfc3c..c8df9101 100644 --- a/muse/muse/driver/jack.cpp +++ b/muse/muse/driver/jack.cpp @@ -125,9 +125,9 @@ static void processShutdown(void*) if (audioState == AUDIO_RUNNING) fprintf(stderr, "MusE: sequencer still running, something is very wrong.\n"); jackAudio->zeroClientPtr(); // jack disconnect client no longer valid - delete jackAudio; - jackAudio = 0; - audioDriver = 0; +// delete jackAudio; +// jackAudio = 0; +// audioDriver = 0; } //--------------------------------------------------------- diff --git a/muse/muse/midictrl.h b/muse/muse/midictrl.h index bdeca0e4..25d8220f 100644 --- a/muse/muse/midictrl.h +++ b/muse/muse/midictrl.h @@ -72,6 +72,7 @@ const int CTRL_MASTER_VOLUME = 0x40003; const int CTRL_OTHER = 0x40004; const int CTRL_SVELOCITY = 0x40005; // single velocity, used for drum editor // to show only velocity for current instrument +const int CTRL_NO_CTRL = 0x40006; const int CTRL_VAL_UNKNOWN = -1; // used as unknown hwVal diff --git a/muse/muse/route.cpp b/muse/muse/route.cpp index 98966a44..da5fb3af 100644 --- a/muse/muse/route.cpp +++ b/muse/muse/route.cpp @@ -494,6 +494,8 @@ const char* Route::tname(RouteType t) static const char* names[] = { "TRACK", "AUDIOPORT", "MIDIPORT", "SYNTIPORT" }; + if (t > 3) + return "???"; return names[t]; } diff --git a/muse/muse/song.cpp b/muse/muse/song.cpp index f17918de..e50a423d 100644 --- a/muse/muse/song.cpp +++ b/muse/muse/song.cpp @@ -1909,6 +1909,9 @@ void Song::removeTrack2(Track* track) else { const RouteList* rl = track->inRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) { +printf("remove route:\n"); +r->dump(); + src.channel = r->channel; r->track->outRoutes()->removeRoute(src); } diff --git a/muse/muse/songfile.cpp b/muse/muse/songfile.cpp index 751f83a5..e45616b3 100644 --- a/muse/muse/songfile.cpp +++ b/muse/muse/songfile.cpp @@ -255,6 +255,8 @@ void Song::read(QDomNode node) _comment = e.text(); else if (tag == "createDate") _createDate = QDateTime::fromString(e.text(), Qt::ISODate); + else if (tag == "LenInSec") + ; else printf("MusE:Song: unknown tag %s\n", tag.toLatin1().data()); } diff --git a/muse/muse/templatedialog.cpp b/muse/muse/templatedialog.cpp index 1cb7436d..ad34d2a6 100644 --- a/muse/muse/templatedialog.cpp +++ b/muse/muse/templatedialog.cpp @@ -170,10 +170,10 @@ void TemplateDialog::currentChanged(QTreeWidgetItem* item, QTreeWidgetItem*) pd += "/" + itemPath(item); QFileInfo pf(pd); - createdDate->setDateTime(pf.created()); modifiedDate->setDateTime(pf.lastModified()); QTime time(0, 0, 0); + QDateTime date; QFile f(pf.filePath()); QDomDocument doc; @@ -206,9 +206,9 @@ void TemplateDialog::currentChanged(QTreeWidgetItem* item, QTreeWidgetItem*) QString s(e.text()); if (tag == "comment") comment->setPlainText(s); - else if (tag == "LenInSec") { - int sec = s.toInt(); - time = time.addSecs(sec); + else if (tag == "createDate") { + date = QDateTime::fromString(e.text(), Qt::ISODate); + break; } } } @@ -216,6 +216,7 @@ void TemplateDialog::currentChanged(QTreeWidgetItem* item, QTreeWidgetItem*) } } } + createdDate->setDateTime(date); } //--------------------------------------------------------- diff --git a/muse/muse/transport.ui b/muse/muse/transport.ui index d6aecaa0..a70992e9 100644 --- a/muse/muse/transport.ui +++ b/muse/muse/transport.ui @@ -8,8 +8,8 @@ <rect> <x>0</x> <y>0</y> - <width>763</width> - <height>108</height> + <width>636</width> + <height>99</height> </rect> </property> <property name="sizePolicy" > @@ -134,7 +134,7 @@ </sizepolicy> </property> <property name="icon" > - <iconset resource="../muse.qrc" >:/xpm/punchin.xpm</iconset> + <iconset resource="muse.qrc" >:/xpm/punchin.xpm</iconset> </property> <property name="checkable" > <bool>true</bool> @@ -155,7 +155,7 @@ <string>...</string> </property> <property name="icon" > - <iconset resource="../muse.qrc" >:/xpm/loop.xpm</iconset> + <iconset resource="muse.qrc" >:/xpm/loop.xpm</iconset> </property> <property name="checkable" > <bool>true</bool> @@ -173,7 +173,7 @@ </sizepolicy> </property> <property name="icon" > - <iconset resource="../muse.qrc" >:/xpm/punchout.xpm</iconset> + <iconset resource="muse.qrc" >:/xpm/punchout.xpm</iconset> </property> <property name="checkable" > <bool>true</bool> @@ -310,7 +310,7 @@ <string>...</string> </property> <property name="icon" > - <iconset resource="../muse.qrc" >:/xpm/start.xpm</iconset> + <iconset resource="muse.qrc" >:/xpm/start.xpm</iconset> </property> </widget> </item> @@ -331,7 +331,7 @@ <string>...</string> </property> <property name="icon" > - <iconset resource="../muse.qrc" >:/xpm/frewind.xpm</iconset> + <iconset resource="muse.qrc" >:/xpm/frewind.xpm</iconset> </property> </widget> </item> @@ -352,7 +352,7 @@ <string>...</string> </property> <property name="icon" > - <iconset resource="../muse.qrc" >:/xpm/fforward.xpm</iconset> + <iconset resource="muse.qrc" >:/xpm/fforward.xpm</iconset> </property> </widget> </item> @@ -373,7 +373,7 @@ <string>...</string> </property> <property name="icon" > - <iconset resource="../muse.qrc" >:/xpm/stop.xpm</iconset> + <iconset resource="muse.qrc" >:/xpm/stop.xpm</iconset> </property> <property name="checkable" > <bool>true</bool> @@ -397,7 +397,7 @@ <string>...</string> </property> <property name="icon" > - <iconset resource="../muse.qrc" >:/xpm/play.xpm</iconset> + <iconset resource="muse.qrc" >:/xpm/play.xpm</iconset> </property> <property name="checkable" > <bool>true</bool> @@ -828,6 +828,13 @@ <pixmapfunction></pixmapfunction> <customwidgets> <customwidget> + <class>Awl::PosEdit</class> + <extends>QWidget</extends> + <header>awl/posedit.h</header> + <container>0</container> + <pixmap></pixmap> + </customwidget> + <customwidget> <class>SigLabel</class> <extends>QLabel</extends> <header>widgets/siglabel.h</header> @@ -836,21 +843,14 @@ </customwidget> <customwidget> <class>Awl::TempoEdit</class> - <extends></extends> + <extends>QWidget</extends> <header>awl/tempoedit.h</header> <container>0</container> <pixmap></pixmap> </customwidget> - <customwidget> - <class>Awl::PosEdit</class> - <extends></extends> - <header>awl/posedit.h</header> - <container>0</container> - <pixmap></pixmap> - </customwidget> </customwidgets> <resources> - <include location="../muse.qrc" /> + <include location="muse.qrc" /> </resources> <connections/> </ui> diff --git a/muse/synti/libsynti/CMakeLists.txt b/muse/synti/libsynti/CMakeLists.txt index b6d98df6..3cd62bed 100644 --- a/muse/synti/libsynti/CMakeLists.txt +++ b/muse/synti/libsynti/CMakeLists.txt @@ -20,7 +20,10 @@ add_library(synti mess.cpp gui.cpp mono.cpp poly.cpp mpevent.cpp) +# +# -fPIC is necessary for 64 bit systems +# set_target_properties( synti - PROPERTIES COMPILE_FLAGS "-include ${PROJECT_SOURCE_DIR}/all.h" + PROPERTIES COMPILE_FLAGS "-fPIC -include ${PROJECT_SOURCE_DIR}/all.h" ) |