summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrcan Ogetbil <oget.fedora@gmail.com>2011-09-15 04:13:10 +0000
committerOrcan Ogetbil <oget.fedora@gmail.com>2011-09-15 04:13:10 +0000
commit3859b10f9a5eaca7df8f85394756375af0b17a1c (patch)
tree4ed55ccfbc5691a212e2a995982db7cf662541c8
parentd020b82fd8108351eacb56a2d0c39f149a1c5057 (diff)
New namespaces and change in default colors. See ChangeLog.
-rw-r--r--muse2/ChangeLog7
-rw-r--r--muse2/muse/app.cpp6
-rw-r--r--muse2/muse/app.h21
-rw-r--r--muse2/muse/appearance.cpp2
-rw-r--r--muse2/muse/appearance.h6
-rw-r--r--muse2/muse/arranger/alayout.cpp4
-rw-r--r--muse2/muse/arranger/alayout.h5
-rw-r--r--muse2/muse/arranger/arranger.cpp12
-rw-r--r--muse2/muse/arranger/arranger.h12
-rw-r--r--muse2/muse/arranger/arrangerview.cpp3
-rw-r--r--muse2/muse/arranger/arrangerview.h4
-rw-r--r--muse2/muse/arranger/pcanvas.cpp108
-rw-r--r--muse2/muse/arranger/pcanvas.h16
-rw-r--r--muse2/muse/arranger/tlist.cpp28
-rw-r--r--muse2/muse/arranger/tlist.h4
-rw-r--r--muse2/muse/arranger/trackautomationview.cpp4
-rw-r--r--muse2/muse/arranger/trackautomationview.h4
-rw-r--r--muse2/muse/conf.cpp4
-rw-r--r--muse2/muse/gconfig.cpp42
-rw-r--r--muse2/muse/mixer/amixer.cpp4
-rw-r--r--muse2/muse/mixer/amixer.h13
-rw-r--r--muse2/muse/mixer/astrip.cpp7
-rw-r--r--muse2/muse/mixer/astrip.h7
-rw-r--r--muse2/muse/mixer/mstrip.cpp8
-rw-r--r--muse2/muse/mixer/mstrip.h2
-rw-r--r--muse2/muse/mixer/panknob.cpp4
-rw-r--r--muse2/muse/mixer/panknob.h4
-rw-r--r--muse2/muse/mixer/rack.cpp3
-rw-r--r--muse2/muse/mixer/rack.h4
-rw-r--r--muse2/muse/mixer/routedialog.cpp4
-rw-r--r--muse2/muse/mixer/routedialog.h4
-rw-r--r--muse2/muse/mixer/strip.cpp3
-rw-r--r--muse2/muse/mixer/strip.h4
-rw-r--r--muse2/muse/widgets/utils.cpp102
-rw-r--r--muse2/muse/widgets/utils.h3
35 files changed, 296 insertions, 172 deletions
diff --git a/muse2/ChangeLog b/muse2/ChangeLog
index 51ef9e30..960d558f 100644
--- a/muse2/ChangeLog
+++ b/muse2/ChangeLog
@@ -4,6 +4,13 @@
- added MDI-like and borland-like user interface (flo93)
- improved pasting, added dialogs, added "copy in range",
changed shortcut keys (flo93)
+ - New namespaces MusEArranger and MusEMixer. (Orcan)
+ - Updated default track colors on arranger. Indicate the selected track with a gradient instead of a
+ separate color. (Orcan)
+ - moved colorRect() and get_paste_len() into utils.cpp. (Orcan)
+ - Updated default colors of transport handles, bigtime foreground, waveedit background, track labels.
+ Made them more pastelish, easier on eyes. (Orcan)
+ - Made horizontal alignment of meter and slider in mstrip consistent with in astrip. (Orcan)
13.09.2011:
*Added: You can now insert new tracks instead of always at the track list end. (Tim)
If main menu 'Add track': Inserts before currently selected track, else adds at end.
diff --git a/muse2/muse/app.cpp b/muse2/muse/app.cpp
index 773e550f..3d52e4f2 100644
--- a/muse2/muse/app.cpp
+++ b/muse2/muse/app.cpp
@@ -925,7 +925,7 @@ MusE::MusE(int argc, char** argv) : QMainWindow()
connect(windowsCascadeAction, SIGNAL(activated()), mdiArea, SLOT(cascadeSubWindows()));
- arrangerView = new ArrangerView(this);
+ arrangerView = new MusEArranger::ArrangerView(this);
arrangerView->shareToolsAndMenu(true);
connect(arrangerView, SIGNAL(closed()), SLOT(arrangerClosed()));
toplevels.push_back(arrangerView);
@@ -2943,7 +2943,7 @@ void MusE::bigtimeClosed()
void MusE::showMixer1(bool on)
{
if (on && mixer1 == 0) {
- mixer1 = new AudioMixerApp(this, &(MusEConfig::config.mixer1));
+ mixer1 = new MusEMixer::AudioMixerApp(this, &(MusEConfig::config.mixer1));
connect(mixer1, SIGNAL(closed()), SLOT(mixer1Closed()));
mixer1->resize(MusEConfig::config.mixer1.geometry.size());
mixer1->move(MusEConfig::config.mixer1.geometry.topLeft());
@@ -2960,7 +2960,7 @@ void MusE::showMixer1(bool on)
void MusE::showMixer2(bool on)
{
if (on && mixer2 == 0) {
- mixer2 = new AudioMixerApp(this, &(MusEConfig::config.mixer2));
+ mixer2 = new MusEMixer::AudioMixerApp(this, &(MusEConfig::config.mixer2));
connect(mixer2, SIGNAL(closed()), SLOT(mixer2Closed()));
mixer2->resize(MusEConfig::config.mixer2.geometry.size());
mixer2->move(MusEConfig::config.mixer2.geometry.topLeft());
diff --git a/muse2/muse/app.h b/muse2/muse/app.h
index 3bde68e1..50064f96 100644
--- a/muse2/muse/app.h
+++ b/muse2/muse/app.h
@@ -56,23 +56,30 @@ class ShortcutConfig;
class VisibleTracks;
}
+namespace MusEArranger {
+class Arranger;
+class ArrangerView;
+}
+
class Part;
class PartList;
class Transport;
-class Arranger;
class Instrument;
class Track;
class PrinterConfig;
class MRConfig;
class AudioConf;
class Xml;
+
+namespace MusEMixer {
class AudioMixerApp;
+}
+
class ClipListEdit;
class AudioRecord;
class MidiFileConfig;
class MidiFilterConfig;
class MarkerView;
-class ArrangerView;
class GlobalSettingsConfig;
class MidiControllerEditDialog;
class MidiInputTransformDialog;
@@ -202,14 +209,14 @@ class MusE : public QMainWindow
MidiInputTransformDialog* midiInputTransform;
MusEWidget::ShortcutConfig* shortcutConfig;
Appearance* appearance;
- AudioMixerApp* mixer1;
- AudioMixerApp* mixer2;
+ MusEMixer::AudioMixerApp* mixer1;
+ MusEMixer::AudioMixerApp* mixer2;
- Arranger* _arranger;
+ MusEArranger::Arranger* _arranger;
ToplevelList toplevels;
ClipListEdit* clipListEdit;
MarkerView* markerView;
- ArrangerView* arrangerView;
+ MusEArranger::ArrangerView* arrangerView;
MidiTransformerDialog* midiTransformerDialog;
QMenu* openRecent;
@@ -377,7 +384,7 @@ class MusE : public QMainWindow
public:
MusE(int argc, char** argv);
~MusE();
- Arranger* arranger() { return _arranger; }
+ MusEArranger::Arranger* arranger() { return _arranger; }
QRect configGeometryMain;
QProgressDialog *progress;
bool importMidi(const QString name, bool merge);
diff --git a/muse2/muse/appearance.cpp b/muse2/muse/appearance.cpp
index 835ced81..b49b951b 100644
--- a/muse2/muse/appearance.cpp
+++ b/muse2/muse/appearance.cpp
@@ -116,7 +116,7 @@ class IdListViewItem : public QTreeWidgetItem {
// Appearance
//---------------------------------------------------------
-Appearance::Appearance(Arranger* a, QWidget* parent)
+Appearance::Appearance(MusEArranger::Arranger* a, QWidget* parent)
: QDialog(parent, Qt::Window)
{
setupUi(this);
diff --git a/muse2/muse/appearance.h b/muse2/muse/appearance.h
index 5193f679..2020d199 100644
--- a/muse2/muse/appearance.h
+++ b/muse2/muse/appearance.h
@@ -29,7 +29,9 @@ class QColor;
class QDialog;
class MusE;
+namespace MusEArranger {
class Arranger;
+}
namespace MusEConfig {
class GlobalConfigValues;
}
@@ -43,7 +45,7 @@ class Appearance : public QDialog, public Ui::AppearanceDialogBase {
Q_OBJECT
private:
- Arranger* arr;
+ MusEArranger::Arranger* arr;
QColor* color;
MusEConfig::GlobalConfigValues* config;
QButtonGroup* aPalette;
@@ -88,7 +90,7 @@ class Appearance : public QDialog, public Ui::AppearanceDialogBase {
void colorNameEditFinished();
public:
- Appearance(Arranger*, QWidget* parent=0);
+ Appearance(MusEArranger::Arranger*, QWidget* parent=0);
~Appearance();
void resetValues();
};
diff --git a/muse2/muse/arranger/alayout.cpp b/muse2/muse/arranger/alayout.cpp
index f316dec9..2c2ee719 100644
--- a/muse2/muse/arranger/alayout.cpp
+++ b/muse2/muse/arranger/alayout.cpp
@@ -25,6 +25,8 @@
#include <QScrollBar>
+namespace MusEArranger {
+
//---------------------------------------------------------
// wadd
//---------------------------------------------------------
@@ -213,3 +215,5 @@ void TLLayout::clear()
delete child;
}
}
+
+} // namespace MusEArranger
diff --git a/muse2/muse/arranger/alayout.h b/muse2/muse/arranger/alayout.h
index 88f03e7a..fe41eeb2 100644
--- a/muse2/muse/arranger/alayout.h
+++ b/muse2/muse/arranger/alayout.h
@@ -29,6 +29,8 @@
class QLayoutItem;
class QScrollBar;
+namespace MusEArranger {
+
class WidgetStack;
//---------------------------------------------------------
@@ -72,4 +74,7 @@ class TLLayout : public QLayout
virtual QLayoutItem* takeAt(int); // { return 0;} // ddskrjo, is pure virtual, overridden
///virtual int count() const { return ilist.count(); } // ddskrjo, is pure virtual, overridden
};
+
+} // namespace MusEArranger
+
#endif
diff --git a/muse2/muse/arranger/arranger.cpp b/muse2/muse/arranger/arranger.cpp
index 09e67151..1900b622 100644
--- a/muse2/muse/arranger/arranger.cpp
+++ b/muse2/muse/arranger/arranger.cpp
@@ -70,6 +70,8 @@
#include "spinbox.h"
#include "shortcuts.h"
+namespace MusEArranger {
+
//---------------------------------------------------------
// Arranger::setHeaderToolTips
//---------------------------------------------------------
@@ -595,7 +597,7 @@ void Arranger::songChanged(int type)
if(type & SC_TRACK_REMOVED)
{
- AudioStrip* w = (AudioStrip*)(trackInfo->getWidget(2));
+ MusEMixer::AudioStrip* w = (MusEMixer::AudioStrip*)(trackInfo->getWidget(2));
//AudioStrip* w = (AudioStrip*)(trackInfo->widget(2));
if(w)
{
@@ -954,7 +956,7 @@ QSize WidgetStack::minimumSizeHint() const
void Arranger::clear()
{
- AudioStrip* w = (AudioStrip*)(trackInfo->getWidget(2));
+ MusEMixer::AudioStrip* w = (MusEMixer::AudioStrip*)(trackInfo->getWidget(2));
if (w)
delete w;
trackInfo->addWidget(0, 2);
@@ -1054,11 +1056,11 @@ void Arranger::updateTrackInfo(int flags)
void Arranger::switchInfo(int n)
{
if (n == 2) {
- AudioStrip* w = (AudioStrip*)(trackInfo->getWidget(2));
+ MusEMixer::AudioStrip* w = (MusEMixer::AudioStrip*)(trackInfo->getWidget(2));
if (w == 0 || selected != w->getTrack()) {
if (w)
delete w;
- w = new AudioStrip(trackInfo, (AudioTrack*)selected);
+ w = new MusEMixer::AudioStrip(trackInfo, (AudioTrack*)selected);
//w->setFocusPolicy(Qt::TabFocus); // p4.0.9
connect(song, SIGNAL(songChanged(int)), w, SLOT(songChanged(int)));
connect(MusEGlobal::muse, SIGNAL(configChanged()), w, SLOT(configChanged()));
@@ -1138,3 +1140,5 @@ void Arranger::horizontalZoomOut()
hscroll->setMag(newmag);
}
+
+} // namespace MusEArranger
diff --git a/muse2/muse/arranger/arranger.h b/muse2/muse/arranger/arranger.h
index 1e3943be..f65c69a6 100644
--- a/muse2/muse/arranger/arranger.h
+++ b/muse2/muse/arranger/arranger.h
@@ -39,12 +39,13 @@ class QWheelEvent;
class QKeyEvent;
//class QStackedWidget;
-class TList;
class Track;
class Xml;
-class TLLayout;
class WidgetStack;
+
+namespace MusEMixer {
class AudioStrip;
+}
namespace MusEWidget {
class Header;
@@ -57,7 +58,10 @@ class Splitter;
class SpinBox;
}
+namespace MusEArranger {
class ArrangerView;
+class TList;
+class TLLayout;
//---------------------------------------------------------
// WidgetStack
@@ -101,7 +105,7 @@ class Arranger : public QWidget {
QScrollBar* infoScroll;
//MidiTrackInfoBase* midiTrackInfo;
MusEWidget::MidiTrackInfo* midiTrackInfo;
- AudioStrip* waveTrackInfo;
+ MusEMixer::AudioStrip* waveTrackInfo;
QWidget* noTrackInfo;
TLLayout* tgrid;
@@ -193,5 +197,7 @@ class Arranger : public QWidget {
ArrangerView* parentWin;
};
+} // namespace MusEArranger
+
#endif
diff --git a/muse2/muse/arranger/arrangerview.cpp b/muse2/muse/arranger/arrangerview.cpp
index 0cc75db9..db1a9778 100644
--- a/muse2/muse/arranger/arrangerview.cpp
+++ b/muse2/muse/arranger/arrangerview.cpp
@@ -68,6 +68,7 @@
#include "visibletracks.h"
#include "xml.h"
+namespace MusEArranger {
//---------------------------------------------------------
// ArrangerView
@@ -724,3 +725,5 @@ void ArrangerView::updateVisibleTracksButtons()
void ArrangerView::globalCut() { ::globalCut(); }
void ArrangerView::globalInsert() { ::globalInsert(); }
void ArrangerView::globalSplit() { ::globalSplit(); }
+
+} // namespace MusEArranger
diff --git a/muse2/muse/arranger/arrangerview.h b/muse2/muse/arranger/arrangerview.h
index bdb450ae..20655840 100644
--- a/muse2/muse/arranger/arrangerview.h
+++ b/muse2/muse/arranger/arrangerview.h
@@ -55,6 +55,7 @@
namespace MusEWidget { class VisibleTracks; }
+namespace MusEArranger {
class ArrangerView : public TopWin
{
@@ -149,8 +150,7 @@ class ArrangerView : public TopWin
static void writeConfiguration(int, Xml&);
};
-
-
+} // namespace MusEArranger
#endif
diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp
index 056dcce7..10cd9735 100644
--- a/muse2/muse/arranger/pcanvas.cpp
+++ b/muse2/muse/arranger/pcanvas.cpp
@@ -34,7 +34,7 @@
#include <QLineEdit>
#include <QMenu>
#include <QMessageBox>
-#include <QPainter>
+//#include <QPainter>
#include <QUrl>
#include <QPoint>
@@ -48,7 +48,7 @@
#include "globals.h"
#include "icons.h"
#include "event.h"
-#include "xml.h"
+//#include "xml.h"
#include "wave.h"
#include "audio.h"
#include "shortcuts.h"
@@ -70,24 +70,7 @@
using std::set;
-int get_paste_len();
-
-//---------------------------------------------------------
-// colorRect
-// paints a rectangular icon with a given color
-//---------------------------------------------------------
-
-QIcon colorRect(const QColor& color, int width, int height) {
- QPainter painter;
- QPixmap image(width, height);
- painter.begin(&image);
- painter.setBrush(color);
- QRect rectangle(0, 0, width, height);
- painter.drawRect(rectangle);
- painter.end();
- QIcon icon(image);
- return icon;
-}
+namespace MusEArranger {
//---------------------------------------------------------
// NPart
@@ -646,7 +629,7 @@ QMenu* PartCanvas::genItemPopup(MusEWidget::CItem* item)
// part color selection
for (int i = 0; i < NUM_PARTCOLORS; ++i) {
- QAction *act_color = colorPopup->addAction(colorRect(MusEConfig::config.partColors[i], 80, 80), MusEConfig::config.partColorNames[i]);
+ QAction *act_color = colorPopup->addAction(MusEUtil::colorRect(MusEConfig::config.partColors[i], 80, 80), MusEConfig::config.partColorNames[i]);
act_color->setData(20+i);
}
@@ -2623,7 +2606,7 @@ void PartCanvas::cmd(int cmd)
case CMD_PASTE_CLONE_DIALOG:
{
unsigned temp_begin = AL::sigmap.raster1(song->vcpos(),0);
- unsigned temp_end = AL::sigmap.raster2(temp_begin + get_paste_len(), 0);
+ unsigned temp_end = AL::sigmap.raster2(temp_begin + MusEUtil::get_paste_len(), 0);
paste_dialog->raster = temp_end - temp_begin;
paste_dialog->clone = (cmd == CMD_PASTE_CLONE_DIALOG);
@@ -2805,86 +2788,6 @@ void PartCanvas::copy(PartList* pl)
}
-
-int get_paste_len()
-{
- QClipboard* cb = QApplication::clipboard();
- const QMimeData* md = cb->mimeData(QClipboard::Clipboard);
-
- QString pfx("text/");
- QString mdpl("x-muse-midipartlist");
- QString wvpl("x-muse-wavepartlist");
- QString mxpl("x-muse-mixedpartlist");
- QString txt;
-
- if(md->hasFormat(pfx + mdpl))
- txt = cb->text(mdpl, QClipboard::Clipboard);
- else if(md->hasFormat(pfx + wvpl))
- txt = cb->text(wvpl, QClipboard::Clipboard);
- else if(md->hasFormat(pfx + mxpl))
- txt = cb->text(mxpl, QClipboard::Clipboard);
- else
- return 0;
-
-
- QByteArray ba = txt.toLatin1();
- const char* ptxt = ba.constData();
- Xml xml(ptxt);
- bool end = false;
-
- unsigned begin_tick=-1; //this uses the greatest possible begin_tick
- unsigned end_tick=0;
-
- for (;;)
- {
- Xml::Token token = xml.parse();
- const QString& tag = xml.s1();
- switch (token)
- {
- case Xml::Error:
- case Xml::End:
- end = true;
- break;
-
- case Xml::TagStart:
- if (tag == "part")
- {
- Part* p = 0;
- p = readXmlPart(xml, NULL, false, false);
-
- if (p)
- {
- if (p->tick() < begin_tick)
- begin_tick=p->tick();
-
- if (p->endTick() > end_tick)
- end_tick=p->endTick();
-
- delete p;
- }
- }
- else
- xml.unknown("PartCanvas::get_paste_len");
- break;
-
- case Xml::TagEnd:
- break;
-
- default:
- end = true;
- break;
- }
- if(end)
- break;
- }
-
- if (begin_tick > end_tick)
- return 0;
- else
- return end_tick - begin_tick;
-}
-
-
Undo PartCanvas::pasteAt(const QString& pt, Track* track, unsigned int pos, bool clone, bool toTrack, int* finalPosPtr, set<Track*>* affected_tracks)
{
Undo operations;
@@ -4046,3 +3949,4 @@ void PartCanvas::endMoveItems(const QPoint& pos, DragType dragtype, int dir)
redraw();
}
+} // namespace MusEArranger
diff --git a/muse2/muse/arranger/pcanvas.h b/muse2/muse/arranger/pcanvas.h
index 2bce9035..7eec87c6 100644
--- a/muse2/muse/arranger/pcanvas.h
+++ b/muse2/muse/arranger/pcanvas.h
@@ -36,9 +36,17 @@ class QMouseEvent;
class QKeyEvent;
class QEvent;
class QDragEnterEvent;
+class QLineEdit;
+
+class MidiEditor;
+class QMenu;
+class Xml;
+class CtrlVal;
#define beats 4
+namespace MusEArranger {
+
//---------------------------------------------------------
// NPart
// ''visual'' Part
@@ -68,12 +76,6 @@ struct AutomationObject {
ControllerVals controllerState;
};
-class QLineEdit;
-class MidiEditor;
-class QMenu;
-class Xml;
-class CtrlVal;
-
//---------------------------------------------------------
// PartCanvas
//---------------------------------------------------------
@@ -176,5 +178,7 @@ class PartCanvas : public MusEWidget::Canvas {
void controllerChanged(Track *t);
};
+} // namespace MusEArranger
+
#endif
diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp
index 28b12fdc..91c939db 100644
--- a/muse2/muse/arranger/tlist.cpp
+++ b/muse2/muse/arranger/tlist.cpp
@@ -67,6 +67,8 @@
#include "dssihost.h"
#endif
+namespace MusEArranger {
+
static const int MIN_TRACKHEIGHT = 20;
static const int WHEEL_DELTA = 120;
QColor collist[] = { Qt::red, Qt::yellow, Qt::blue , Qt::black, Qt::white, Qt::green };
@@ -184,6 +186,14 @@ void TList::paint(const QRect& r)
// Tracks
//---------------------------------------------------
+ QColor mask_edge = QColor(90, 90, 90, 45);
+ QColor mask_center = QColor(240, 240, 240, 175);
+ QLinearGradient mask;
+ mask.setColorAt(0, mask_edge);
+ mask.setColorAt(0.15, mask_center);
+ mask.setColorAt(0.3, mask_center);
+ mask.setColorAt(1, mask_edge);
+
TrackList* l = song->tracks();
int idx = 0;
int yy = -ypos;
@@ -201,12 +211,7 @@ void TList::paint(const QRect& r)
// clear one row
//
QColor bg;
- if (track->selected()) {
- bg = MusEConfig::config.selectTrackBg;
- //p.setPen(palette().active().text());
- p.setPen(MusEConfig::config.selectTrackFg);
- }
- else {
+
switch(type) {
case Track::MIDI:
bg = MusEConfig::config.midiTrackBg;
@@ -233,10 +238,16 @@ void TList::paint(const QRect& r)
bg = MusEConfig::config.synthTrackBg;
break;
}
- p.setPen(palette().color(QPalette::Active, QPalette::Text));
- }
+
+ p.setPen(palette().color(QPalette::Active, QPalette::Text));
p.fillRect(x1, yy, w, trackHeight, bg);
+ if (track->selected()) {
+ mask.setStart(QPointF(0, yy));
+ mask.setFinalStop(QPointF(0, yy + trackHeight));
+ p.fillRect(x1, yy, w, trackHeight, mask);
+ }
+
int x = 0;
for (int index = 0; index < header->count(); ++index) {
int section = header->logicalIndex(index);
@@ -1789,3 +1800,4 @@ void TList::classesPopupMenu(Track* t, int x, int y)
}
}
+} // namespace MusEArranger
diff --git a/muse2/muse/arranger/tlist.h b/muse2/muse/arranger/tlist.h
index 970df420..01b13eb3 100644
--- a/muse2/muse/arranger/tlist.h
+++ b/muse2/muse/arranger/tlist.h
@@ -46,6 +46,8 @@ class Header;
class PopupMenu;
}
+namespace MusEArranger {
+
enum TrackColumn {
COL_RECORD = 0,
COL_MUTE,
@@ -140,5 +142,7 @@ class TList : public QWidget {
void readStatus(Xml&, const char* name);
};
+} // namespace MusEArranger
+
#endif
diff --git a/muse2/muse/arranger/trackautomationview.cpp b/muse2/muse/arranger/trackautomationview.cpp
index 343d853f..13973a68 100644
--- a/muse2/muse/arranger/trackautomationview.cpp
+++ b/muse2/muse/arranger/trackautomationview.cpp
@@ -28,6 +28,8 @@
#include "track.h"
+namespace MusEArranger {
+
TrackAutomationView::TrackAutomationView(QWidget *parent, Track *t) : QWidget(parent)
{
printf("created trackautomationview\n");
@@ -72,3 +74,5 @@ void TrackAutomationView::collectAutomationData()
// CtrlListList cll =((AudioTrack*)_t)->controller();
// cll.count()
}
+
+} // namespace MusEArranger
diff --git a/muse2/muse/arranger/trackautomationview.h b/muse2/muse/arranger/trackautomationview.h
index 360ea898..f169e968 100644
--- a/muse2/muse/arranger/trackautomationview.h
+++ b/muse2/muse/arranger/trackautomationview.h
@@ -28,6 +28,8 @@ class QWidget;
#include "track.h"
+namespace MusEArranger {
+
class TrackAutomationView : public QWidget
{
Track *_t;
@@ -39,4 +41,6 @@ public:
void collectAutomationData();
};
+} // namespace MusEArranger
+
#endif // TRACKAUTOMATIONVIEW_H
diff --git a/muse2/muse/conf.cpp b/muse2/muse/conf.cpp
index 6ba4d47d..ac6a7de6 100644
--- a/muse2/muse/conf.cpp
+++ b/muse2/muse/conf.cpp
@@ -917,7 +917,7 @@ void readConfiguration(Xml& xml, bool readOnlySequencer)
else if (tag == "marker")
MarkerView::readConfiguration(xml);
else if (tag == "arrangerview")
- ArrangerView::readConfiguration(xml);
+ MusEArranger::ArrangerView::readConfiguration(xml);
else if (tag == "arranger") {
if (MusEGlobal::muse && MusEGlobal::muse->arranger())
MusEGlobal::muse->arranger()->readStatus(xml);
@@ -1373,7 +1373,7 @@ void MusE::writeGlobalConfiguration(int level, Xml& xml) const
ClipListEdit::writeConfiguration(level, xml);
LMaster::writeConfiguration(level, xml);
MarkerView::writeConfiguration(level, xml);
- ArrangerView::writeConfiguration(level, xml);
+ MusEArranger::ArrangerView::writeConfiguration(level, xml);
write_function_dialog_config(level, xml);
diff --git a/muse2/muse/gconfig.cpp b/muse2/muse/gconfig.cpp
index deed36b3..7d6dcde6 100644
--- a/muse2/muse/gconfig.cpp
+++ b/muse2/muse/gconfig.cpp
@@ -83,10 +83,10 @@ GlobalConfigValues config = {
QString("Piano"),
QString("Saxophone")
},
- QColor(0, 0, 255), // transportHandleColor;
- QColor(255, 0, 0), // bigTimeForegroundColor;
+ QColor(51, 114, 178), // transportHandleColor;
+ QColor(219, 65, 65), // bigTimeForegroundColor;
QColor(0, 0, 0), // bigTimeBackgroundColor;
- QColor(200, 200, 200), // waveEditBackgroundColor;
+ QColor(200, 192, 171), // waveEditBackgroundColor;
{
QFont(QString("arial"), 10, QFont::Normal),
QFont(QString("arial"), 8, QFont::Normal),
@@ -97,27 +97,27 @@ GlobalConfigValues config = {
QFont(QString("arial"), 8, QFont::Bold, true) // Mixer strip labels. Looks and fits better with bold + italic than bold alone,
// at the price of only few more pixels than Normal mode.
},
- QColor(84, 97, 114), // trackBg;
- QColor(0x80, 0xff, 0x80), // selected track Bg;
+ QColor(84, 97, 114), // trackBg;
+ QColor(120, 229, 166), // selected track Bg;
QColor(0x00, 0x00, 0x00), // selected track Fg;
- QColor(0, 160, 255), // midiTrackLabelBg; // Med blue
- QColor(0, 160, 255), // drumTrackLabelBg; // Med blue
- Qt::magenta, // waveTrackLabelBg;
- Qt::green, // outputTrackLabelBg;
- Qt::red, // inputTrackLabelBg;
- Qt::yellow, // groupTrackLabelBg;
- QColor(120, 255, 255), // auxTrackLabelBg; // Light blue
- QColor(255, 130, 0), // synthTrackLabelBg; // Med orange
+ QColor(74, 150, 194), // midiTrackLabelBg; // Med blue
+ QColor(74, 150, 194), // drumTrackLabelBg; // Med blue
+ QColor(213, 128, 202), // waveTrackLabelBg; // magenta
+ QColor(84, 185, 58), // outputTrackLabelBg; // green
+ QColor(199, 75, 64), // inputTrackLabelBg; // red
+ QColor(236, 214, 90), // groupTrackLabelBg; // yellow
+ QColor(161, 234, 242), // auxTrackLabelBg; // Light blue
+ QColor(229, 157, 101), // synthTrackLabelBg; // Med orange
- QColor(220, 220, 220), // midiTrackBg;
- QColor(220, 220, 220), // drumTrackBg;
- QColor(220, 220, 220), // waveTrackBg;
- QColor(189, 220, 193), // outputTrackBg;
- QColor(189, 220, 193), // inputTrackBg;
- QColor(220, 220, 220), // groupTrackBg;
- QColor(220, 220, 220), // auxTrackBg;
- QColor(220, 220, 220), // synthTrackBg;
+ QColor(215, 220, 230), // midiTrackBg;
+ QColor(215, 220, 230), // drumTrackBg;
+ QColor(220, 209, 217), // waveTrackBg;
+ QColor(197, 220, 206), // outputTrackBg;
+ QColor(220, 214, 206), // inputTrackBg;
+ QColor(220, 216, 202), // groupTrackBg;
+ QColor(208, 215, 220), // auxTrackBg;
+ QColor(220, 211, 202), // synthTrackBg;
QColor(98, 124, 168), // part canvas bg
QColor(255, 170, 0), // ctrlGraphFg; Medium orange
diff --git a/muse2/muse/mixer/amixer.cpp b/muse2/muse/mixer/amixer.cpp
index e30524ae..18fe926f 100644
--- a/muse2/muse/mixer/amixer.cpp
+++ b/muse2/muse/mixer/amixer.cpp
@@ -51,6 +51,7 @@
//typedef std::list<Strip*> StripList;
//static StripList stripList;
+namespace MusEMixer {
/*
Nov 16, 2010: After making the strips variable width, we need a way to
@@ -596,7 +597,7 @@ void AudioMixerApp::toggleRouteDialog()
void AudioMixerApp::showRouteDialog(bool on)
{
if (on && routingDialog == 0) {
- routingDialog = new RouteDialog(this);
+ routingDialog = new MusEDialog::RouteDialog(this);
connect(routingDialog, SIGNAL(closed()), SLOT(routingDialogClosed()));
}
if (routingDialog)
@@ -721,3 +722,4 @@ void AudioMixerApp::write(int level, Xml& xml)
xml.etag(level, "Mixer");
}
+} // namespace MusEMixer
diff --git a/muse2/muse/mixer/amixer.h b/muse2/muse/mixer/amixer.h
index 41f1e5e1..5be12659 100644
--- a/muse2/muse/mixer/amixer.h
+++ b/muse2/muse/mixer/amixer.h
@@ -45,15 +45,20 @@ class Slider;
class Knob;
class DoubleLabel;
class ComboBox;
-class RouteDialog;
-class Strip;
namespace MusEConfig {
struct MixerConfig;
}
+namespace MusEDialog {
+class RouteDialog;
+}
+
#define EFX_HEIGHT 16
+namespace MusEMixer {
+
+class Strip;
typedef std::list<Strip*> StripList;
//---------------------------------------------------------
@@ -90,7 +95,7 @@ class AudioMixerApp : public QMainWindow {
//Strip* master;
QHBoxLayout* layout;
QMenu* menuView;
- RouteDialog* routingDialog;
+ MusEDialog::RouteDialog* routingDialog;
QAction* routingId;
int oldAuxsSize;
@@ -148,5 +153,7 @@ class AudioMixerApp : public QMainWindow {
void clear();
};
+} // namespace MusEMixer
+
#endif
diff --git a/muse2/muse/mixer/astrip.cpp b/muse2/muse/mixer/astrip.cpp
index 1aa9ae2b..156017e8 100644
--- a/muse2/muse/mixer/astrip.cpp
+++ b/muse2/muse/mixer/astrip.cpp
@@ -67,6 +67,8 @@
//#include "popupmenu.h"
#include "routepopup.h"
+namespace MusEMixer {
+
/*
//---------------------------------------------------------
// minimumSizeHint
@@ -229,7 +231,7 @@ void AudioStrip::songChanged(int val)
//QLinearGradient gradient(autoType->geometry().topLeft(), autoType->geometry().bottomLeft());
if(track->automationType() == AUTO_TOUCH || track->automationType() == AUTO_WRITE)
{
- palette.setColor(QPalette::Button, QColor(Qt::red));
+ palette.setColor(QPalette::Button, QColor(215, 76, 39)); // red
//QColor c(Qt::red);
//gradient.setColorAt(0, c);
//gradient.setColorAt(1, c.darker());
@@ -238,7 +240,7 @@ void AudioStrip::songChanged(int val)
}
else if(track->automationType() == AUTO_READ)
{
- palette.setColor(QPalette::Button, QColor(Qt::green));
+ palette.setColor(QPalette::Button, QColor(100, 172, 49)); // green
//QColor c(Qt::green);
//gradient.setColorAt(0, c);
//gradient.setColorAt(1, c.darker());
@@ -1041,3 +1043,4 @@ void AudioStrip::oRoutePressed()
pup->exec(QCursor::pos(), track, true);
}
+} // namespace MusEMixer
diff --git a/muse2/muse/mixer/astrip.h b/muse2/muse/mixer/astrip.h
index fc25bb9b..72e88cca 100644
--- a/muse2/muse/mixer/astrip.h
+++ b/muse2/muse/mixer/astrip.h
@@ -43,8 +43,11 @@ class QToolButton;
//class PopupMenu;
class QButton;
class AudioTrack;
-class EffectRack;
+namespace MusEMixer {
+
+class EffectRack;
+
//---------------------------------------------------------
// AudioStrip
//---------------------------------------------------------
@@ -113,5 +116,7 @@ class AudioStrip : public Strip {
//virtual QSize sizeHint () const;
};
+} // namespace MusEMixer
+
#endif
diff --git a/muse2/muse/mixer/mstrip.cpp b/muse2/muse/mixer/mstrip.cpp
index d8e09adb..c6832e6b 100644
--- a/muse2/muse/mixer/mstrip.cpp
+++ b/muse2/muse/mixer/mstrip.cpp
@@ -61,6 +61,8 @@
//#include "popupmenu.h"
#include "routepopup.h"
+namespace MusEMixer {
+
enum { KNOB_PAN, KNOB_VAR_SEND, KNOB_REV_SEND, KNOB_CHO_SEND };
//---------------------------------------------------------
@@ -218,8 +220,8 @@ MidiStrip::MidiStrip(QWidget* parent, MidiTrack* t)
sliderGrid = new QGridLayout();
sliderGrid->setRowStretch(0, 100);
- sliderGrid->addWidget(slider, 0, 0, Qt::AlignRight);
- sliderGrid->addWidget(meter[0], 0, 1, Qt::AlignLeft);
+ sliderGrid->addWidget(slider, 0, 0, Qt::AlignHCenter);
+ sliderGrid->addWidget(meter[0], 0, 1, Qt::AlignHCenter);
grid->addLayout(sliderGrid, _curGridRow++, 0, 1, 2);
sl = new MusEWidget::DoubleLabel(0.0, -98.0, 0.0, this);
@@ -1028,4 +1030,4 @@ void MidiStrip::oRoutePressed()
pup->exec(QCursor::pos(), track, true);
}
-
+} // namespace MusEMixer
diff --git a/muse2/muse/mixer/mstrip.h b/muse2/muse/mixer/mstrip.h
index 2f0a133d..d8e947f9 100644
--- a/muse2/muse/mixer/mstrip.h
+++ b/muse2/muse/mixer/mstrip.h
@@ -41,6 +41,7 @@ class TransparentToolButton;
class MidiTrack;
+namespace MusEMixer {
//---------------------------------------------------------
// MidiStrip
@@ -94,6 +95,7 @@ class MidiStrip : public Strip {
MidiStrip(QWidget* parent, MidiTrack*);
};
+} // namespace MusEMixer
#endif
diff --git a/muse2/muse/mixer/panknob.cpp b/muse2/muse/mixer/panknob.cpp
index f645ddf7..9a12d58f 100644
--- a/muse2/muse/mixer/panknob.cpp
+++ b/muse2/muse/mixer/panknob.cpp
@@ -26,6 +26,8 @@
#include "panknob.h"
#include "track.h"
+namespace MusEWidget {
+
//---------------------------------------------------------
// PanKnob
//---------------------------------------------------------
@@ -49,4 +51,4 @@ void PanKnob::valueChanged(double val)
song->controllerChange(src);
}
-
+} // namespace MusEWidget
diff --git a/muse2/muse/mixer/panknob.h b/muse2/muse/mixer/panknob.h
index 5fcb2171..7f0d3232 100644
--- a/muse2/muse/mixer/panknob.h
+++ b/muse2/muse/mixer/panknob.h
@@ -28,6 +28,8 @@
class AudioTrack;
+namespace MusEWidget {
+
//---------------------------------------------------------
// PanKnob
//---------------------------------------------------------
@@ -43,5 +45,7 @@ class PanKnob : public Knob {
PanKnob(QWidget* parent, AudioTrack*);
};
+} // namespace MusEWidget
+
#endif
diff --git a/muse2/muse/mixer/rack.cpp b/muse2/muse/mixer/rack.cpp
index fdd80e60..7daf142d 100644
--- a/muse2/muse/mixer/rack.cpp
+++ b/muse2/muse/mixer/rack.cpp
@@ -46,6 +46,8 @@
#include "plugin.h"
#include "filedialog.h"
+namespace MusEMixer {
+
//---------------------------------------------------------
// class EffectRackDelegate
//---------------------------------------------------------
@@ -700,3 +702,4 @@ void EffectRack::initPlugin(Xml xml, int idx)
}
}
+} // namespace MusEMixer
diff --git a/muse2/muse/mixer/rack.h b/muse2/muse/mixer/rack.h
index 65d112e9..2ea053bf 100644
--- a/muse2/muse/mixer/rack.h
+++ b/muse2/muse/mixer/rack.h
@@ -34,6 +34,8 @@ class QMouseEvent;
class AudioTrack;
class Xml;
+namespace MusEMixer {
+
//---------------------------------------------------------
// EffectRack
//---------------------------------------------------------
@@ -80,5 +82,7 @@ class EffectRack : public QListWidget {
};
+} // namespace MusEMixer
+
#endif
diff --git a/muse2/muse/mixer/routedialog.cpp b/muse2/muse/mixer/routedialog.cpp
index 53b8d48b..a9441343 100644
--- a/muse2/muse/mixer/routedialog.cpp
+++ b/muse2/muse/mixer/routedialog.cpp
@@ -32,6 +32,8 @@
#include "audio.h"
#include "driver/jackaudio.h"
+namespace MusEDialog {
+
//---------------------------------------------------------
// RouteDialog
//---------------------------------------------------------
@@ -199,3 +201,5 @@ void RouteDialog::closeEvent(QCloseEvent* e)
emit closed();
e->accept();
}
+
+} // namespace MusEDialog
diff --git a/muse2/muse/mixer/routedialog.h b/muse2/muse/mixer/routedialog.h
index d5326ab3..de5dfbc3 100644
--- a/muse2/muse/mixer/routedialog.h
+++ b/muse2/muse/mixer/routedialog.h
@@ -29,6 +29,8 @@
class QCloseEvent;
class QDialog;
+namespace MusEDialog {
+
//---------------------------------------------------------
// RouteDialog
//---------------------------------------------------------
@@ -55,5 +57,7 @@ class RouteDialog : public QDialog, public Ui::RouteDialogBase {
};
+} // namespace MusEDialog
+
#endif
diff --git a/muse2/muse/mixer/strip.cpp b/muse2/muse/mixer/strip.cpp
index 750f1623..e9f92e9b 100644
--- a/muse2/muse/mixer/strip.cpp
+++ b/muse2/muse/mixer/strip.cpp
@@ -39,6 +39,8 @@
#include "meter.h"
#include "utils.h"
+namespace MusEMixer {
+
//---------------------------------------------------------
// setRecordFlag
//---------------------------------------------------------
@@ -278,3 +280,4 @@ void Strip::setAutomationType(int t)
song->update(SC_AUTOMATION);
}
+} // namespace MusEMixer
diff --git a/muse2/muse/mixer/strip.h b/muse2/muse/mixer/strip.h
index 602e6e07..ea4d2693 100644
--- a/muse2/muse/mixer/strip.h
+++ b/muse2/muse/mixer/strip.h
@@ -44,6 +44,8 @@ class ComboBox;
class Meter;
}
+namespace MusEMixer {
+
static const int STRIP_WIDTH = 65;
//---------------------------------------------------------
@@ -92,5 +94,7 @@ class Strip : public QFrame {
void setLabelFont();
};
+} // namespace MusEMixer
+
#endif
diff --git a/muse2/muse/widgets/utils.cpp b/muse2/muse/widgets/utils.cpp
index 1ed9001a..c900f3b6 100644
--- a/muse2/muse/widgets/utils.cpp
+++ b/muse2/muse/widgets/utils.cpp
@@ -26,13 +26,20 @@
#include <sys/time.h>
//#include <time.h>
+#include <QApplication>
#include <QFrame>
+#include <QClipboard>
#include <QColor>
#include <QGradient>
+#include <QIcon>
#include <QLinearGradient>
+#include <QMimeData>
+#include <QPainter>
#include <QPointF>
+#include "part.h"
#include "utils.h"
+#include "xml.h"
namespace MusEUtil {
@@ -456,4 +463,99 @@ QPainterPath roundedPath(int x, int y, int w, int h, int xrad, int yrad, Corner
return rounded_rect;
}
+//---------------------------------------------------------
+// colorRect
+// paints a rectangular icon with a given color
+//---------------------------------------------------------
+
+QIcon colorRect(const QColor& color, int width, int height) {
+ QPainter painter;
+ QPixmap image(width, height);
+ painter.begin(&image);
+ painter.setBrush(color);
+ QRect rectangle(0, 0, width, height);
+ painter.drawRect(rectangle);
+ painter.end();
+ QIcon icon(image);
+ return icon;
+}
+
+int get_paste_len()
+ {
+ QClipboard* cb = QApplication::clipboard();
+ const QMimeData* md = cb->mimeData(QClipboard::Clipboard);
+
+ QString pfx("text/");
+ QString mdpl("x-muse-midipartlist");
+ QString wvpl("x-muse-wavepartlist");
+ QString mxpl("x-muse-mixedpartlist");
+ QString txt;
+
+ if(md->hasFormat(pfx + mdpl))
+ txt = cb->text(mdpl, QClipboard::Clipboard);
+ else if(md->hasFormat(pfx + wvpl))
+ txt = cb->text(wvpl, QClipboard::Clipboard);
+ else if(md->hasFormat(pfx + mxpl))
+ txt = cb->text(mxpl, QClipboard::Clipboard);
+ else
+ return 0;
+
+
+ QByteArray ba = txt.toLatin1();
+ const char* ptxt = ba.constData();
+ Xml xml(ptxt);
+ bool end = false;
+
+ unsigned begin_tick=-1; //this uses the greatest possible begin_tick
+ unsigned end_tick=0;
+
+ for (;;)
+ {
+ Xml::Token token = xml.parse();
+ const QString& tag = xml.s1();
+ switch (token)
+ {
+ case Xml::Error:
+ case Xml::End:
+ end = true;
+ break;
+
+ case Xml::TagStart:
+ if (tag == "part")
+ {
+ Part* p = 0;
+ p = readXmlPart(xml, NULL, false, false);
+
+ if (p)
+ {
+ if (p->tick() < begin_tick)
+ begin_tick=p->tick();
+
+ if (p->endTick() > end_tick)
+ end_tick=p->endTick();
+
+ delete p;
+ }
+ }
+ else
+ xml.unknown("PartCanvas::get_paste_len");
+ break;
+
+ case Xml::TagEnd:
+ break;
+
+ default:
+ end = true;
+ break;
+ }
+ if(end)
+ break;
+ }
+
+ if (begin_tick > end_tick)
+ return 0;
+ else
+ return end_tick - begin_tick;
+}
+
} // namespace MusEUtils
diff --git a/muse2/muse/widgets/utils.h b/muse2/muse/widgets/utils.h
index c6e1ad6b..6e4c8758 100644
--- a/muse2/muse/widgets/utils.h
+++ b/muse2/muse/widgets/utils.h
@@ -52,6 +52,9 @@ extern double curTime();
extern QPainterPath roundedPath(QRect r, int xrad, int yrad, Corner roundCorner);
extern QPainterPath roundedPath(int x, int y, int w, int h, int xrad, int yrad, Corner roundCorner);
+extern QIcon colorRect(const QColor& color, int width, int height);
+extern int get_paste_len();
+
} // namespace MusEUtils
#endif