diff --git a/include/EffectSelectDialog.h b/include/EffectSelectDialog.h index c11501fd4..52500d469 100644 --- a/include/EffectSelectDialog.h +++ b/include/EffectSelectDialog.h @@ -55,7 +55,7 @@ protected slots: private: Ui::EffectSelectDialog * ui; - QVector m_pluginDescriptors; + Plugin::DescriptorList m_pluginDescriptors; EffectKeyList m_effectKeys; EffectKey m_currentSelection; diff --git a/include/LadspaBase.h b/include/LadspaBase.h index 8654b7687..dc1a1a775 100644 --- a/include/LadspaBase.h +++ b/include/LadspaBase.h @@ -70,7 +70,7 @@ typedef struct PortDescription inline Plugin::Descriptor::SubPluginFeatures::Key ladspaKeyToSubPluginKey( - Plugin::Descriptor * _desc, + const Plugin::Descriptor * _desc, const QString & _name, const ladspa_key_t & _key ) { diff --git a/include/Plugin.h b/include/Plugin.h index 783437bcc..3651dc173 100644 --- a/include/Plugin.h +++ b/include/Plugin.h @@ -2,7 +2,7 @@ * Plugin.h - class plugin, the base-class and generic interface for all plugins * * Copyright (c) 2005-2009 Tobias Doerffel - * + * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * * This program is free software; you can redistribute it and/or @@ -22,14 +22,12 @@ * */ - #ifndef _PLUGIN_H #define _PLUGIN_H - #include #include -#include +#include #include #include "JournallingObject.h" @@ -96,7 +94,7 @@ public: { typedef QMap AttributeMap; - inline Key( Plugin::Descriptor * _desc = NULL, + inline Key( const Plugin::Descriptor * _desc = NULL, const QString & _name = QString(), const AttributeMap & _am = AttributeMap() ) : @@ -116,7 +114,7 @@ public: name != QString::null; } - Plugin::Descriptor * desc; + const Plugin::Descriptor * desc; QString name; AttributeMap attributes; } ; @@ -151,6 +149,9 @@ public: } ; + // typedef a list so we can easily work with list of plugin descriptors + typedef QList DescriptorList; + // contructor of a plugin Plugin( const Descriptor * _descriptor, Model * _parent ); virtual ~Plugin(); @@ -188,9 +189,8 @@ public: static Plugin * instantiate( const QString & _plugin_name, Model * _parent, void * _data ); - // fills given vector with descriptors of all available plugins - static void getDescriptorsOfAvailPlugins( - QVector & _plugin_descs ); + // fills given list with descriptors of all available plugins + static void getDescriptorsOfAvailPlugins( DescriptorList & _plugin_descs ); // create a view for the model PluginView * createView( QWidget * _parent ); diff --git a/include/plugin_browser.h b/include/plugin_browser.h index 92e0632b1..b0d66ae06 100644 --- a/include/plugin_browser.h +++ b/include/plugin_browser.h @@ -1,8 +1,8 @@ /* * plugin_browser.h - include file for pluginBrowser * - * Copyright (c) 2005-2007 Tobias Doerffel - * + * Copyright (c) 2005-2009 Tobias Doerffel + * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * * This program is free software; you can redistribute it and/or @@ -22,15 +22,12 @@ * */ - #ifndef _PLUGIN_BROWSER_H #define _PLUGIN_BROWSER_H #include -#include #include - #include "side_bar_widget.h" #include "Plugin.h" @@ -47,7 +44,7 @@ public: private: - QVector m_pluginDescriptors; + Plugin::DescriptorList m_pluginDescriptors; QWidget * m_view; diff --git a/plugins/flp_import/FlpImport.cpp b/plugins/flp_import/FlpImport.cpp index cb32faff1..1c36b5c4b 100644 --- a/plugins/flp_import/FlpImport.cpp +++ b/plugins/flp_import/FlpImport.cpp @@ -1778,10 +1778,10 @@ p->putValue( jt->pos, value, false ); // process all effects EffectKeyList effKeys; - QVector pluginDescs; + Plugin::DescriptorList pluginDescs; Plugin::getDescriptorsOfAvailPlugins( pluginDescs ); - for( QVector::Iterator it = pluginDescs.begin(); - it != pluginDescs.end(); ++it ) + for( Plugin::DescriptorList::ConstIterator it = pluginDescs.begin(); + it != pluginDescs.end(); ++it ) { if( it->type != Plugin::Effect ) { diff --git a/src/core/ImportFilter.cpp b/src/core/ImportFilter.cpp index cfe061fd6..04795afe1 100644 --- a/src/core/ImportFilter.cpp +++ b/src/core/ImportFilter.cpp @@ -52,7 +52,7 @@ ImportFilter::~ImportFilter() void ImportFilter::import( const QString & _file_to_import, trackContainer * _tc ) { - QVector d; + DescriptorList d; Plugin::getDescriptorsOfAvailPlugins( d ); bool successful = false; @@ -63,8 +63,8 @@ void ImportFilter::import( const QString & _file_to_import, const bool j = engine::projectJournal()->isJournalling(); engine::projectJournal()->setJournalling( false ); - for( QVector::Iterator it = d.begin(); - it != d.end(); ++it ) + for( Plugin::DescriptorList::ConstIterator it = d.begin(); + it != d.end(); ++it ) { if( it->type == Plugin::ImportFilter ) { diff --git a/src/core/Plugin.cpp b/src/core/Plugin.cpp index 2c4c6784a..9836bdef2 100644 --- a/src/core/Plugin.cpp +++ b/src/core/Plugin.cpp @@ -131,7 +131,7 @@ Plugin * Plugin::instantiate( const QString & _plugin_name, Model * _parent, -void Plugin::getDescriptorsOfAvailPlugins( QVector & _plugin_descs ) +void Plugin::getDescriptorsOfAvailPlugins( DescriptorList & _plugin_descs ) { QDir directory( configManager::inst()->pluginDir() ); #ifdef LMMS_BUILD_WIN32 diff --git a/src/core/ResourceModel.cpp b/src/core/ResourceModel.cpp index 71723bdd1..8bf1a22fc 100644 --- a/src/core/ResourceModel.cpp +++ b/src/core/ResourceModel.cpp @@ -119,11 +119,11 @@ case ResourceItem::TypePluginSpecificResource: } // iterate through all plugins - QVector descriptors; + Plugin::DescriptorList descriptors; Plugin::getDescriptorsOfAvailPlugins( descriptors ); - for( QVector::iterator it = descriptors.begin(); - it != descriptors.end(); ++it ) + for( Plugin::DescriptorList::ConstIterator it = descriptors.begin(); + it != descriptors.end(); ++it ) { if( it->supportsFileType( ext ) ) { diff --git a/src/core/engine.cpp b/src/core/engine.cpp index bb4f34408..6606619c9 100644 --- a/src/core/engine.cpp +++ b/src/core/engine.cpp @@ -213,9 +213,9 @@ void engine::updateFramesPerTick() void engine::initPluginFileHandling() { - QVector pluginDescriptors; + Plugin::DescriptorList pluginDescriptors; Plugin::getDescriptorsOfAvailPlugins( pluginDescriptors ); - for( QVector::Iterator it = pluginDescriptors.begin(); + for( Plugin::DescriptorList::ConstIterator it = pluginDescriptors.begin(); it != pluginDescriptors.end(); ++it ) { if( it->type == Plugin::Instrument ) diff --git a/src/gui/EffectSelectDialog.cpp b/src/gui/EffectSelectDialog.cpp index 7edf51e5c..5356468e3 100644 --- a/src/gui/EffectSelectDialog.cpp +++ b/src/gui/EffectSelectDialog.cpp @@ -44,7 +44,7 @@ EffectSelectDialog::EffectSelectDialog( QWidget * _parent ) : // query effects Plugin::getDescriptorsOfAvailPlugins( m_pluginDescriptors ); - for( QVector::Iterator it = m_pluginDescriptors.begin(); + for( Plugin::DescriptorList::ConstIterator it = m_pluginDescriptors.begin(); it != m_pluginDescriptors.end(); ++it ) { if( it->type != Plugin::Effect ) diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 021e940b5..8920feb31 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -268,9 +268,9 @@ void MainWindow::finalize() m_toolsMenu = new QMenu( this ); - QVector pluginDescriptors; + Plugin::DescriptorList pluginDescriptors; Plugin::getDescriptorsOfAvailPlugins( pluginDescriptors ); - for( QVector::iterator it = pluginDescriptors.begin(); + for( Plugin::DescriptorList::ConstIterator it = pluginDescriptors.begin(); it != pluginDescriptors.end(); ++it ) { if( it->type == Plugin::Tool ) diff --git a/src/gui/plugin_browser.cpp b/src/gui/plugin_browser.cpp index 49280b6d2..035266357 100644 --- a/src/gui/plugin_browser.cpp +++ b/src/gui/plugin_browser.cpp @@ -1,8 +1,8 @@ /* * plugin_browser.cpp - implementation of the plugin-browser * - * Copyright (c) 2005-2008 Tobias Doerffel - * + * Copyright (c) 2005-2009 Tobias Doerffel + * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * * This program is free software; you can redistribute it and/or @@ -22,13 +22,11 @@ * */ - #include #include #include #include - #include "plugin_browser.h" #include "embed.h" #include "debug.h" @@ -64,14 +62,12 @@ pluginBrowser::pluginBrowser( QWidget * _parent ) : Plugin::getDescriptorsOfAvailPlugins( m_pluginDescriptors ); - for( QVector::iterator it = - m_pluginDescriptors.begin(); - it != m_pluginDescriptors.end(); ++it ) + for( Plugin::DescriptorList::ConstIterator it = m_pluginDescriptors.begin(); + it != m_pluginDescriptors.end(); ++it ) { if( it->type == Plugin::Instrument ) { - pluginDescWidget * p = new pluginDescWidget( *it, - m_view ); + pluginDescWidget * p = new pluginDescWidget( *it, m_view ); p->show(); view_layout->addWidget( p ); }