From 15e22db33204c608b09a13ca6c11c76effbfca98 Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Sat, 3 Jun 2006 21:16:43 +0000 Subject: * fixed plugin drag&drop problem * enabled tool shortcuts in arran --- muse/ChangeLog | 3 +++ muse/muse/aboutbox.ui | 2 +- muse/muse/arranger/arranger.cpp | 20 +++++++++++++++++++- muse/muse/arranger/arranger.h | 1 + muse/muse/mixer/rack.cpp | 14 +++++++++----- muse/muse/muse.cpp | 1 + 6 files changed, 34 insertions(+), 7 deletions(-) diff --git a/muse/ChangeLog b/muse/ChangeLog index d91d8eab..5fae2df6 100644 --- a/muse/ChangeLog +++ b/muse/ChangeLog @@ -1,3 +1,6 @@ +3.6. (rj) + * fixed plugin drag&drop problem + * enabled tool shortcuts in arranger 1.6. (ws) * fix crash when loading new song (old song has midi channels, new song has not) diff --git a/muse/muse/aboutbox.ui b/muse/muse/aboutbox.ui index bd8595a4..cce92f1f 100644 --- a/muse/muse/aboutbox.ui +++ b/muse/muse/aboutbox.ui @@ -335,7 +335,7 @@ - <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Arial; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt; font-weight:600;">MusE</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt; font-weight:600;"><span style=" font-size:10pt; font-weight:400;">Version 1.0pre1</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(C) Copyright 1999-2004 Werner Schweer and others. </p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">See http://lmuse.sourceforge.net for new versions and</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">more information.</p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Published under the GNU Public License</p></body></html> + <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Arial; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt; font-weight:600;">MusE</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt; font-weight:600;"><span style=" font-size:10pt; font-weight:400;">Version 1.0pre1</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(C) Copyright 1999-2006 Werner Schweer and others. </p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">See http://muse-sequencer.org for new versions and</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">more information.</p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Published under the GNU Public License</p></body></html> false diff --git a/muse/muse/arranger/arranger.cpp b/muse/muse/arranger/arranger.cpp index c678d3de..6626627d 100644 --- a/muse/muse/arranger/arranger.cpp +++ b/muse/muse/arranger/arranger.cpp @@ -1250,6 +1250,7 @@ void Arranger::keyPressEvent(QKeyEvent* e) shortcutsKbdMovement.setPos(nextRight->tick(), nextRight->tick() + nextRight->lenTick()); } } + else if (key == shortcuts[SHRT_SEL_ABOVE].key) { // TODO } @@ -1257,7 +1258,24 @@ void Arranger::keyPressEvent(QKeyEvent* e) // TODO } } // -- end movement - + else { + if (key == shortcuts[SHRT_TOOL_POINTER].key) { + emit toolChanged(PointerTool); + return; + } + else if (key == shortcuts[SHRT_TOOL_PENCIL].key) { + emit toolChanged(PencilTool); + return; + } + else if (key == shortcuts[SHRT_TOOL_RUBBER].key) { + emit toolChanged(RubberTool); + return; + } + else if (key == shortcuts[SHRT_TOOL_LINEDRAW].key) { + emit toolChanged(DrawTool); + return; + } + } // If we haven't dealt with the keypress, pass it along if (!keypress_handled) { e->ignore(); diff --git a/muse/muse/arranger/arranger.h b/muse/muse/arranger/arranger.h index 527022fb..044fcfc9 100644 --- a/muse/muse/arranger/arranger.h +++ b/muse/muse/arranger/arranger.h @@ -141,6 +141,7 @@ class Arranger : public QWidget { signals: void configChanged(); + void toolChanged(int); void editPart(Part*); void cursorPos(const AL::Pos&,bool); diff --git a/muse/muse/mixer/rack.cpp b/muse/muse/mixer/rack.cpp index fb25e491..609f571f 100644 --- a/muse/muse/mixer/rack.cpp +++ b/muse/muse/mixer/rack.cpp @@ -216,8 +216,9 @@ void EffectRack::doubleClicked(QListWidgetItem* it) void EffectRack::startDrag(int idx) { - QBuffer buffer; - AL::Xml xml(&buffer); + QString buffer; + AL::Xml xml(NULL); + xml.setString(&buffer); Pipeline* pipe = track->efxPipe(); if (pipe) { if ((*pipe)[idx] != NULL) { @@ -234,6 +235,7 @@ void EffectRack::startDrag(int idx) fval.setNum(plug->param(i)); // wierd stuff to avoid localization QString str=""; xml.put(str.toLatin1().data()); + printf("%s\n",str.toLatin1().data()); } xml.etag("plugin"); @@ -248,8 +250,9 @@ void EffectRack::startDrag(int idx) //printf("no pipe!\n"); return; } - - QByteArray xmldump = buffer.buffer(); + //printf("and i wish you were here: %s\n", xml.readAll().toLatin1().data()); + QByteArray xmldump = xml.readAll().toLatin1(); + //printf("xmldump=%s\n",xmldump.data()); QDrag *drag = new QDrag(this); QMimeData *mime = new QMimeData(); mime->setData("text/x-muse-plugin", xmldump); @@ -262,6 +265,7 @@ void EffectRack::startDrag(int idx) //--------------------------------------------------------- void EffectRack::dropEvent(QDropEvent *event) { + //printf("drop!\n"); QString text; QListWidgetItem *i = itemAt( (event->pos()) ); int idx = row(i); @@ -301,7 +305,7 @@ void EffectRack::dropEvent(QDropEvent *event) else if (event->mimeData()->hasFormat("text/x-muse-plugin")) { QByteArray outxml = event->mimeData()->data("text/x-muse-plugin"); - //printf("%s\n",outxml.data()); + //printf("DATA:%s\n",outxml.data()); QDomDocument doc; doc.setContent(outxml); QDomNode node = doc.documentElement().firstChild(); diff --git a/muse/muse/muse.cpp b/muse/muse/muse.cpp index d659b63c..6812a9f9 100644 --- a/muse/muse/muse.cpp +++ b/muse/muse/muse.cpp @@ -960,6 +960,7 @@ MusE::MusE() setCentralWidget(arranger); connect(tools1, SIGNAL(toolChanged(int)), SLOT(setTool(int))); + connect(arranger, SIGNAL(toolChanged(int)), SLOT(setTool(int))); connect(arranger, SIGNAL(editPart(Part*)), SLOT(startEditor(Part*))); //TODO1 connect(arranger, SIGNAL(dropSongFile(const QString&)), SLOT(loadProject(const QString&))); //TODO1 connect(arranger, SIGNAL(dropMidiFile(const QString&)), SLOT(importMidi(const QString&))); -- cgit v1.2.3