summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Schweer <ws.seh.de>2006-05-21 22:17:22 +0000
committerWerner Schweer <ws.seh.de>2006-05-21 22:17:22 +0000
commit4d53abe2acfe04f0650f352e0aa1e5344d2b9d7b (patch)
treeb32eb49a2ddacf22346cca1d1bd46ebabc8905be
parent15bd588827bb5286ef155c3a7cc6ede23fbc7b31 (diff)
updates
-rw-r--r--muse/ChangeLog3
-rw-r--r--muse/muse/CMakeLists.txt3
-rw-r--r--muse/muse/arranger/arranger.cpp20
-rw-r--r--muse/muse/arranger/arranger.h20
-rw-r--r--muse/muse/arranger/canvas.cpp20
-rw-r--r--muse/muse/arranger/canvas.h20
-rw-r--r--muse/muse/arranger/configtrack.cpp20
-rw-r--r--muse/muse/arranger/configtrack.h20
-rw-r--r--muse/muse/arranger/miditrackinfo.h21
-rw-r--r--muse/muse/arranger/partdrag.cpp20
-rw-r--r--muse/muse/arranger/partdrag.h20
-rw-r--r--muse/muse/arranger/selectfilter.h20
-rw-r--r--muse/muse/arranger/tllineedit.cpp20
-rw-r--r--muse/muse/arranger/tllineedit.h20
-rw-r--r--muse/muse/arranger/tlswidget.cpp90
-rw-r--r--muse/muse/arranger/tlswidget.h30
-rw-r--r--muse/muse/arranger/tlwidget.cpp20
-rw-r--r--muse/muse/arranger/tlwidget.h20
-rw-r--r--muse/muse/arranger/tlwlayout.cpp20
-rw-r--r--muse/muse/arranger/tlwlayout.h20
-rw-r--r--muse/muse/arranger/trackdrag.cpp20
-rw-r--r--muse/muse/arranger/trackdrag.h20
-rw-r--r--muse/muse/arranger/trackinfo.cpp21
-rw-r--r--muse/muse/arranger/trackinfo.h21
-rw-r--r--muse/muse/arranger/trelement.h20
-rw-r--r--muse/muse/conf.cpp3
-rw-r--r--muse/muse/ctrl/CMakeLists.txt10
-rw-r--r--muse/muse/ctrl/configmidictrl.cpp20
-rw-r--r--muse/muse/ctrl/configmidictrl.h20
-rw-r--r--muse/muse/ctrl/ctrldialog.cpp156
-rw-r--r--muse/muse/ctrl/ctrldialog.h45
-rw-r--r--muse/muse/ctrl/ctrldialog.ui115
-rw-r--r--muse/muse/ctrl/ctrleditor.cpp21
-rw-r--r--muse/muse/ctrl/ctrleditor.h21
-rw-r--r--muse/muse/driver/jack.cpp6
-rw-r--r--muse/muse/midictrl.h1
-rw-r--r--muse/muse/route.cpp2
-rw-r--r--muse/muse/song.cpp3
-rw-r--r--muse/muse/songfile.cpp2
-rw-r--r--muse/muse/templatedialog.cpp9
-rw-r--r--muse/muse/transport.ui38
-rw-r--r--muse/synti/libsynti/CMakeLists.txt5
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"
)