From e494b49ed5a8f077f263e74b5b88a825540ee7df Mon Sep 17 00:00:00 2001 From: Werner Schweer Date: Mon, 19 Jun 2006 11:33:11 +0000 Subject: fixed: mono plugins on stereo tracks only work on one channel --- muse/ChangeLog | 3 ++- muse/muse/plugin.cpp | 8 ++++---- muse/muse/projectdialog.cpp | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/muse/ChangeLog b/muse/ChangeLog index b84a9cab..6e454c86 100644 --- a/muse/ChangeLog +++ b/muse/ChangeLog @@ -1,5 +1,6 @@ 19.6. (ws) - * fix drawing of cutted wave part + * fixed: mono plugins on stereo tracks work only on one channel + * fixed drawing of cutted wave part 14.6. (ws) * fix build of libawlplugin.so; works for "release" build 12.6. (ws) diff --git a/muse/muse/plugin.cpp b/muse/muse/plugin.cpp index 6ab03d18..c5d6362a 100644 --- a/muse/muse/plugin.cpp +++ b/muse/muse/plugin.cpp @@ -564,7 +564,7 @@ void PluginI::apply(unsigned nframes, int ports, float** src, float** dst) float** spp = sp; float** dpp = dp; for (int i = 0; i < instances; ++i) { - pif[i]->apply(nframes, sp, dp); + pif[i]->apply(nframes, spp, dpp); spp += iports; dpp += oports; } @@ -656,7 +656,7 @@ bool PluginI::initPluginInstance(Plugin* plug, int c) _name = _plugin->name() + inst; _label = _plugin->label() + inst; - instances = channel/plug->outports(); + instances = channel / plug->outports(); if (instances < 1) instances = 1; pif = new PluginIF*[instances]; @@ -718,6 +718,7 @@ void PluginI::writeConfiguration1(Xml& xml) if (hasNativeGui() && nativeGuiVisible()) xml.intTag("nativeGui", 1); } + //--------------------------------------------------------- // readConfiguration // return true on error @@ -725,7 +726,6 @@ void PluginI::writeConfiguration1(Xml& xml) bool PluginI::readConfiguration(QDomNode node) { - instances = 1; QDomElement e = node.toElement(); QString file = e.attribute("file"); QString label = e.attribute("label"); @@ -735,7 +735,7 @@ bool PluginI::readConfiguration(QDomNode node) _plugin = plugins.find(file, label); if (_plugin == 0) return true; - if (initPluginInstance(_plugin, instances)) + if (initPluginInstance(_plugin, channel)) return true; } node = node.firstChild(); diff --git a/muse/muse/projectdialog.cpp b/muse/muse/projectdialog.cpp index 968e6cc4..b31e94ff 100644 --- a/muse/muse/projectdialog.cpp +++ b/muse/muse/projectdialog.cpp @@ -143,7 +143,7 @@ void ProjectTree::dropEvent(QDropEvent* event) QTreeWidgetItem* dstItem = itemAt(event->pos()); if (dstItem && dstItem->type() == DIR_TYPE) { QString src = event->mimeData()->text(); - QTreeWidgetItem* srcItem; + QTreeWidgetItem* srcItem = 0; int n = topLevelItemCount(); for (int i = 0; i < n; ++i) { QTreeWidgetItem* item = topLevelItem(i); -- cgit v1.2.3